用C语言实现顺序表的插入与删除
#include<stdio.h>#define M 100
int Insert(int list[],int *p,int i,int x)
{
int j;
if(i<0||i>*p)
return(0);
if(*p==M)
return(-1);
for(j=*p;j>i;j--)
list[j]=list[j-1];
list[i]=x;
(*p)++;
return(1);
}
int Delect(int list[],int *p,int i)
{
int j;
if(i<0||i>*p)
return(0);
if(*p==M)
return(-1);
for(j=i+1;j<*p;j++)
list[j-1]=list[j];
(*p)--;
return(1);
}
void main()
{
int list[M];
int n,i,x,m,b,l,k;
printf("请输入数据个数:\n");
scanf("%d",&n);
printf("请输入数据:\n");
for(i=0;i<n;i++)
{
scanf("%d",&list[i]);
}
printf("请输入你要插入的位置:\n");
scanf("%d",&m);
printf("请输入你要插入的数:\n");
scanf("%d",&x);
b=Insert(list,&n,m,x);
printf("%d\n",b);
printf("插入后的表:\n");
for(i=0;i<n;i++)
{
printf("%d ",list[i]);
}
printf("\n");
printf("请输入你要删除的位置:\n");
scanf("%d",&k);
l=Delect(list,&n,k);
printf("删除后的表:\n");
for(i=0;i<n;i++)
{
printf("%d ",list[i]);
}
printf("\n");
}