#include<stdio.h>#include<stdlib.h>typedef int DataType;typedef int ElemType;#define MAXLISTSIZE 20typedef struct slist{ ElemType elem[MAXLISTSIZE]; // 存储空间基址 ElemType length; // 当前长度 ElemType listsize; //允许的最大存储容量(以sizeof(ElemType)为单位)}*seqlist; //顺序表 seqlist creatsqlist(void){//建立一个线性表 seqlist p; p=(seqlist)malloc(sizeof(struct slist)); if(!p) { puts("can't malloc space"); exit(1); } p->length=0; p->listsize=MAXLISTSIZE; return p;}//creatsqlist void insertsqlist(seqlist pl,DataType pos,ElemType e){//在pos指示位置插入元素e DataType i; if(pl->length==pl->listsize) { puts("overflow!"); exit(1); } if(pos<0||pos>pl->length) { puts("can't find pos!"); exit(1); } for(i=pl->length-1;i>=pos;i--) { pl->elem[i+1]=pl->elem[i]; } pl->elem[pos]=e; pl->length++;}//insertsqlistDataType delsqlist(seqlist pl,DataType pos){//删除pos位置上面的元素 DataType i; if(pos<0||pos>pl->length-1) { puts("can't find!"); exit(0); } for(i=pos;i<(pl->length-1);i++) { pl->elem[i]=pl->elem[i+1]; } pl->length--; return(pl->elem[pos]);}//delsqlistvoid destroysqlist(seqlist pl){ pl->length=0; pl->listsize=0; free(pl);}//////////////////////////////////////below is main int main(void){ seqlist sslist; DataType data; sslist=creatsqlist(); insertsqlist(sslist,0,1); insertsqlist(sslist,0,2); insertsqlist(sslist,0,3); insertsqlist(sslist,0,4); insertsqlist(sslist,0,5); insertsqlist(sslist,0,6); insertsqlist(sslist,6,7); insertsqlist(sslist,5,8); insertsqlist(sslist,3,9); data=delsqlist(sslist,3); return 0;}

评论