#include <stdio.h>
#include <string.h>
#define max 20
int last=20;
int node[max]={0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19};
int main()
{
int i,a,x,c,p,flag=0,r,s,u,v;
void insert(int p,int x);
void delet(int p);
printf("please enter number:\n1,删除下标为p的节点\n2,在下标为u的节点之前插入v\n3,退出系统\n");
do
{
scanf("%d",&a);
switch(a)
{
case 1:
printf("please enter the x\n");
scanf("%d",&x);
c=find(x);
printf("findresult=%d\n",c);
break;
case 2:
printf("please enter the delete pot p\n");
scanf("%d",&p);
printf("before delete\n");
for(i=0;i<=last-1;i++)
printf("%d ",node[i]);
printf("\n");
delet(p);
printf("after delete\n");
for(i=0;i<=last-1;i++)
printf("%d ",node[i]);
printf("\n");
break;
case 3:
printf("please enter the pot r and the value s\n");
scanf("%d %d",&r,&s);
printf("before modify\n");
for(i=0;i<=last-1;i++)
printf("%d ",node[i]);
printf("\n");
modify(r,s);
printf("after modify\n");
for(i=0;i<=last-1;i++)
printf("%d ",node[i]);
printf("\n");
break;
case 4:
printf("please enter the pot p and the value x\n");
scanf("%d %d",&u,&v);
printf("before insert\n");
for(i=0;i<=last-1;i++)
printf("%d ",node[i]);
printf("\n");
insert(u,v);
printf("after insert\n");
for(i=0;i<=last-1;i++)
printf("%d ",node[i]);
printf("\n");
break;
case 5:
flag=1;
break;
default:
printf("input error\n");
}
}while(!flag);
return(0);
}
void delet(int p) //在线性表中删除元素函数
{
int j;
if(p>last-1||p<0)
printf("wrong position!\n");
else
{
for(j=p+1;j<=last-1;j++)
node[j-1]=node[j];
last=last-1;
}
}
void insert(int p,int x) //在线性表中插入元素函数
{
int m;
if(last==max)
printf("the list is full!\n");
else
{
for(m=last-1;m>=p;m--)
node[m+1]=node[m];
node[p]=x;
last=last+1;
}
}
运行不了