#include<stdio.h>
#include<malloc.h>
#define LISTSIZE 100
#define INCREMENT 10
typedef int ElemType;
typedef struct
{
ElemType *data;
int Nlength; //当前列表长度
int Tlength; //列表总长度
}SqList;
int ListInit(SqList *L)//列表初始化
{
L->data=(ElemType*)malloc(LISTSIZE*sizeof(ElemType));
if(!L->data) return 0;
L->Nlength=0;
L->Tlength=LISTSIZE;
return 1;
}
int ListInsert(SqList L,int i,ElemType x)//列表插入
{
int j;
if(i<1||i>L->Nlength+1) return 0;
for(j=L->Nlength;j>=i;j--)
{
L->data[j]=L->data[j-1];
L->data[j-1]=x;
L->Nlength++;
return 1;
}
}
int ListPrint(SqList *L)//列表输出
{
int k;
for(k=1;k<=L->Nlength;K++)
{
printf("%d\t",L->data[k-1]);
}
return 1;
}
void main()
{
SqList *L;
int i,num;
ElemType x;
ListInit(*L);
printf("请输入元素个数:");
scanf("%d",&num);
for(i=1;i<=num;i++)
{
printf("请输入第%d个元素:\n",i);
scanf("%d",&x);
ListInsert(*L,i,x);
}
ListPrint(*L);
}
这是自己编的一个线性表的插入与输出,由于是新手,不知道哪里错了,请大神指导下!!!
(PS:可能略微有点凌乱...)