概述
插入和删除(线性表)
#include<stdio.h>
#define MAXSIZE 100
int list[MAXSIZE];
int n;
/*插入表元素*/
int sq_insert(int list[],int *p_n,int i,int x)
{
int j;
if(i<0||i>*p_n) return 1;
if(*p_n==MAXSIZE) return 2;
for(j=*p_n+1;j>i;j--)
list[j]=list[j-1];//
list[j]=x;//
return 0;
}
/*删除表元素*/
int sq_delete(int list[],int *p_n,int i)
{
int j;
if(i<0||i>*p_n) return 1;
for(j=i+1;j<=*p_n+1;j++)
list[j-1]=list[j];
*p_n=*p_n-1;
return 0;
}
void main()
{
int i,x,temp;
printf("请输入表的个数n=n");
scanf("%d",&n);
n=n-1;
for(i=0;i<=n;i++)
{
printf("list[%d]=",i);
scanf("%d",&list[i]);
}
printf("插入前的线性表n");
for(i=0;i<=n;i++)
printf("%d ",list[i]);
printf("n");
printf("请输入要插入的位置n");
scanf("%d",&i);
printf("请输入要插入的值n");
scanf("%d",&x);
temp=sq_insert(list,&n,i-1,x);
switch(temp)
{
case 0:printf("插入成功n");
printf("插入后的线性表为:n");
for(i=0;i<=n+1;i++)
printf("%d ",list[i]);
n=n+1;
printf("n");
break;
case 1:
case 2:printf("插入未成功n");
break;
}
printf("删除前的线性表n");
for(i=0;i<=n;i++)
printf("%d ",list[i]);
printf("n");
printf("请输入要删除的位置n");
scanf("%d",&i);
temp=sq_delete(list,&n,i-1);
switch(temp)
{
case 0:printf("删除成功n");
printf("删除后的线性表为:n");
for(i=0;i<=n;i++)
printf("%d ",list[i]);
printf("n");
break;
case 1:printf("删除未成功n");
break;
}
}
最后
以上就是温暖奇异果为你收集整理的线性表的插入和删除的全部内容,希望文章能够帮你解决线性表的插入和删除所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复