#defineMaxLen50typedefintelemtype;typedefelemtypesqlist[MaxLen];intcreate(sqlistA){ inti,n; cout<<"创建一个顺序表"<<endl; cout<<"输入元素个数:"; cin>>n; for(i=0;i<n;i++) { cout<<"输入第"<<i+1<<"个元素值:"; cin>>A[i]; } returnn;}#include<iostream>usingnamespacestd;#defineLIST_INIT_SIZE100//线性表存储空间的初始分配量#defineLISTINCREMENT10//线性表存储空间的分配增量typedefintElemType;typedefintStatus;#defineOK1#defineOVERFLOW-1#defineERROR-2typedefstruct//用户自定义结构体SqList{ElemType*elem;//指针指向存储空间基址intlength;intlistsize;}SqList;//线性表初始化StatusInitlist_Sq(SqList&L){=(ElemType*)malloc(LIST_INIT_SIZE*sizeof(ElemType));if(!)exit(OVERFLOW);=0;//=LIST_INIT_SIZE;//初始存储容量returnOK;}//Put操作StatusPut(SqList&L,intn){cout<<"向线性表中输入这n个数据:"<<endl;for(inti=0;i<n;i++)cin>>[i];=+n;returnOK;}//Out操作StatusOut(SqList&L,intn){for(inti=0;i<n;i++)cout<<[i]<<"";cout<<endl;returnOK;}//Insert操作int*p,*q,*e;StatusListInsert_Sq(SqList&L,inti,ElemTypee){ElemType*newbase;if(i<1||i>+1)returnERROR;//i的值不合法if(>=){//存储空间已满,增加分配newbase=(ElemType*)realloc(,(+LISTINCREMENT)*sizeof(ElemType));if(!newbase)exit(OVERFLOW);//=newbase;+=LISTINCREMENT;//增加分配容量}q=&([i-1]);//q为插入地址for(p=&([-1]);p>=q;--p)*(p+1)=*p;//插入元素后移*q=e;++;returnOK;}//Delete操作StatusListDelete_Sq(SqList&L,inti,ElemType&e){if((i<1)||(i>=))return
数据结构线性表 来自淘豆网m.daumloan.com转载请标明出处.