last+" />

顺序表的插入与删除

1.顺序表的插入算法
#include
#define maxlen 100 typedef struct {
int data[maxlen]; int last; }sequenlist;
int sqldelete(sequenlist *l,int i,int x) { int j;
if(l->last+1>=maxlen) { printf("overflow");
return 0;
}
else if((i<1)||(i>l->last+2))
{ printf("error");
return(0);
}
else{ for(j=l->last;j>=i-1;j--)
l->data[j+1]=l->data[j]; l->data[i-1]=x;
l->last=l->last+1;
for(j=0;jlast+1;j++)
printf("%d ",l->data[j]);
return(1);
} }
void main() {
sequenlist l; int i;
for(i=0;i<6;i++) scanf("%d",&l.data[i]); https://www.360docs.net/doc/6114046360.html,st=6;
sqldelete(&l,4,67); }
2.删除数据元素算法
#include
#define maxlen 100 typedef struct {
int data[maxlen]; int last; }sequenlist;
int sqldelete(sequenlist *l,int i) { int j;
if(l->last<0) {
printf("顺序表空");
return 0; }
else if((i<1)||(i>l->last+1))
{ printf("i参数出错");
return(0);
}
else{ for(j=i;jlast+1;j++)
l->data[j-1]=l->data[j]; l->last--;
for(j=0;jlast;j++)
printf("%d ",l->data[j]);
return(1);
} }
void main()
{ sequenlist l; int p;
for(p=0;p<5;p++)
scanf("%d",&l.data[p]);
https://www.360docs.net/doc/6114046360.html,st=5; sqldelete(&l,3); }

相关文档
最新文档