#include
#include
#define Maxsize 100
typedef struct{
int data[Maxsize];
int length;
}SqList;
SqList* initlist(){
SqList *l;
l=(SqList*)malloc(sizeof(SqList));
l->length=0;
return l;
}
int listinsert(SqList *L,int i,int e){
if(i<1||i>L->length+1)
return 0;
if(L->length>=Maxsize)
return 0;
int j;
for(j=L->length;j>=i;j--)
L->data[j]=L->data[j-1];
L->data[i-1]=e;
L->length++;
return 1;
}
int listdelete(SqList *L,int i,int *e){
if(i<1||i>L->length)
return 0;
if(L->length<1)
return 0;
*e=L->data[i-1];
int j;
for(j=i;jlength;j++)
L->data[j-1]=L->data[j];
L->length--;
printf("这次删除的数据是:%d\n",*e);
return 1;
}
void printlist(SqList *L){
int i,k;
for(i=0;i<=L->length-1;i++){
k=L->data[i];
printf("%d",k);
}
}
int findx(SqList *L,int x,int *e){
int i=0;
while(ilength+1&&L->data[i]!=x)
i++;
if(i>L->length){
printf("we can not find this number!\n");
return 0;
}
*e=i+1;
printf("数据%d的位置在%d\n",x,*e);
return 1;
}
void main(){
SqList *L;
int k;
L=initlist();
listinsert(L,1,1);
printlist(L);
printf("\n");
listinsert(L,1,2);
printlist(L);
printf("\n");
listinsert(L,1,3);
printlist(L);
printf("\n");
listinsert(L,1,4);
printlist(L);
printf("\n");
listinsert(L,1,5);
printlist(L);
printf("\n");
listdelete(L,3,&k);
printlist(L);
printf("这次删除的数据是:%d\n",k);
findx(L,4,&k);
printf("数据位置在:%d\n",k);
findx(L,3,&k);
}
(第一次写博客,主要是记录自己学习数据结构当中写好的一些c代码,以便查看,大家可以参考讨论…不足之处请指出)