顺序表中插入元素

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

顺序表中插入元素

用c语言编写程序在顺序表中l中第i个位置之前插入新的元素e #include

#include

#define ListInitSize 100

#define ListIncrement 10

#define overflow -1

#define ok 1

typedef struct{

int *elem;

int length;

int listSize;

}sqList;

typedef int status;

status initListSq(sqList &l){

l.elem =(int *)malloc(ListInitSize*sizeof(int));

if(!l.elem) exit(overflow);

else{

l.length = 0;

l.listSize = ListInitSize;

return ok;

}

}

/*插入元素*/

int InsertElem(sqList &l , int i , int e){

if(i<1 || i>l.length+1) exit(0);

else{

int * newbase;

if(l.length >= l.listSize){

newbase = (int *)realloc(l.elem,(l.listSize + ListIncrement)*sizeof(int));

if(!newbase) exit(0);

l.elem = newbase;

l.listSize += ListIncrement;

}

int *p = &(l.elem[i-1]);

for(int *q = &(l.elem[l.length - 1]) ; q>= p ; q--) *(q+1) = *q;

*p = e;

++l.length;

return ok;

}

}

void main()

{ status s;

sqList sq1;

s=initListSq(sq1);

//printf(

相关文档
最新文档