编程实现顺序表的基本操作:建立顺序表,修改顺序表,插入顺序表,删除顺序表;
#include#define MAXSIZE 100 typedef struct { int *elem; int length; } Sqlist; void InitList(Sqlist &L); //初始化顺序表 void ClearList(Sqlist &L); //清空顺序表 void PrintList(Sqlist L); //打印顺序表元素 void IsEmpty(Sqlist L); //判断顺序表L是否为空 void ListInsert(Sqlist &L,int i,int e); //插入第i个元素,i是位置,不是下标 void ListDelet(Sqlist &L,int i); //删除第i个元素,i是位置,不是下标 void ChangeList(Sqlist &L,int i,int e); //修改第I个元素的数据为e void GetLength(Sqlist L); //获取顺序表长度GetLength(L); void ListGet(Sqlist L,int i); //获取顺序表指定位置的元素 void BeforePoint(Sqlist L,int i);//获取顺序表指定位置元素的前驱 void AfterPoint(Sqlist L,int i); //获取顺序表指定位置元素的后驱 using namespace std; int main() { cout<<"1----清空线性表;n2----判断线性表是否为空;n3----求线性表长;n4----获取线性表指定位置元素;n5----求前驱;n6----求后继;n7----在指定位置插入元素;n8----删除指定位置元素;n9----显示线性表;n10----改变指定位置元素"< >n; if(n!=1 && n!=2 && n!=3 && n!=4 && n!=5 && n!=6 && n!=7 && n!=8 && n!=9 && n!=10){ flag=false; } switch(n){ case 1: ClearList(L); break; case 2: IsEmpty(L); break; case 3: GetLength(L); break; case 4: { cout<<"输入元素的位置:"; int m; cin>>m; ListGet(L,m); break; } case 5: { cout<<"输入元素的位置:"; int m; cin>>m; BeforePoint(L,m); break; } case 6: { cout<<"输入元素的位置:"; int m; cin>>m; AfterPoint(L,m); break; } case 7: { cout<<"输入要插入元素的位置以及要插入的元素:"; int m,m1; cin>>m>>m1; ListInsert(L,m,m1); break; } case 8: { cout<<"输入要删除元素的位置以及要删除的元素:"; int m; cin>>m; ListDelet(L,m); break; } case 9: PrintList(L); break; case 10: { cout<<"输入要改变元素的位置,以及用来做替换的元素:"; int m,m1; cin>>m>>m1; ChangeList(L,m,m1); break; } default: break; } } return 0; } //初始化顺序表 void InitList(Sqlist &L){ L.elem=new int[MAXSIZE]; L.length=0; } //清空顺序表 void ClearList(Sqlist &L){ if(L.elem) delete[]L.elem; L.length=0; L.elem=NULL; cout<<"-----顺序表已清空"< L.length+1) { cout<<"-----位置不对,不存在第"<=i-1; j--) { L.elem[j+1]=L.elem[j]; } cout<<"-----插入第"<L.length+1) { cout<<"-----位置不对,不存在第"<L.length) { cout<<"-----位置不对,不存在第"<L.length) { cout<<"-----第"<L.length) { cout<<"-----第"< 运行结果:



