问题描述:用C语言数组实现顺序表,并在顺序表上实现如下操作
1)在第5个元素位置插入555。
2)将第7个元素删除
3)在顺序表中查找值为97的元素,若存在则将其输出,否则打印没有该元素
#include
#define max 100
typedef struct {
int data[max];
int length;
}squelist;
void printout(squeList *a)
{int i;
for(i=0;i<=a->length;i++)
printf("%d",a->data[i]);
}
void deleteList(SqueList L.int i)
{int j;
if(i<1||i>L.length) return(0)
for(j=i;j<=L.length-1;)
L.data[j-1]=L.data[j];
L.length--;
}
void insertList(SqueList L,DataType x,int i)
{int j;
if(i<1||i>L.length+1)return(0);
if(L.length>=max)exit(overflow);
for(j=L.length-1;j>=i-1;j--);
L.data[j+1]=L.data[j];
L.data[i-1]=x;
L.length++;
}
void LocateList(SqueList L.DataTpye x)
{i=0;
while((i<=L.length)&&(L.data[i]=x))
i++;
if(i<=L.length)
return (i+1);
else
return(-1)
}
main()
{int i,n;
squeList L;
printf("input n!");
scanf("%d",&n);
for(i=0;i scanf("%d",&(L.data[i]));
L.length=n-1;
printout(&L);
deleteList(L,7)
insertList(L,555,5)
LocateList(L,97)
}
我是刚学的,所以还不怎么懂,谢谢了..
--------------------next---------------------
阅读(1352) | 评论(0) | 转发(0) |