快来帮我看看这个线性表啊,花了近2个小时就是出不来我想要的结果(求详解)
#include<stdio.h>#include<stdlib.h>
#define LIST_INIT_SIZE 100
#define listincrement 10
typedef int Elemtype;
typedef struct
{
Elemtype *elem;
int length;
int listsize;
}Sqlist;
//进行空表的创建
InitList(Sqlist L)
{
L.elem=(Elemtype * )malloc(LIST_INIT_SIZE * sizeof(Elemtype));
if(!L.elem)
return 0;
L.length=0;
L.listsize=LIST_INIT_SIZE;
return 1;
}
//在表中插入元素x
ListInsert(Sqlist L,int i,Elemtype x)
{
int j;
if(i<0||i>L.length)
return 0;
for(j=L.length-1;j<=i+1;j--)
L.elem[j+1]=L.elem[j];
L.elem[i+1]=x;
L.length++;
return 1;
}
//删除表中第I个位置上的元素
ListDelete(Sqlist L,int i)
{
int j;
for(j=i+1;j<L.length-1;j++)
L.elem[j-1]=L.elem[j];
L.length--;
return 1;
}
int main()
{
Sqlist L;
int k;
int j;
int i;
InitList(L);
printf("please input 9 numbers:");
for(i=0;i<9;i++)
scanf("%d",&L.elem[i]);
for(i=0;j<L.length;i++)
printf("%4d",L.elem[i]);
printf("请输入要删除的元素的位置k:");
scanf("%d",&k);
ListDelete(L,k);
printf("删除后的序列:\n");
for(i=0;j<L.length;i++)
printf("%4d",L.elem[i]);
printf("\n");
}