}
void CreateList(SqList *L, ElemType a[], int n)
{ int i=0,k=0;
L=(SqList *)malloc(sizeof(SqList));
while(i<n)
{ L->data[k]=a[i];
k++; i++;
}
L->length=k;
}
void DispList(SqList *L)
{ for(int i=0;ilength;i++)
printf("%d",L->data[i]);
printf("\n");
}
修改处见注释,供参考:
#include<stdio.h>
#include<stdlib.h>
#define MaxSize 50
typedef int ElemType;
typedef struct
{
ElemType data[MaxSize];
int length;
}SqList;
void CreateList(SqList **L, ElemType a[], int n);//void CreateList(SqList *L, ElemType a[], int n);
void DispList(SqList *L);
void main()
{
SqList *h;
int n=5;
ElemType a[]={1,3,1,4,2};
CreateList(&h,a,n); //CreateList(h,a,n);
DispList(h);
}
void CreateList(SqList **L, ElemType a[], int n)//void CreateList(SqList *L, ElemType a[], int n)
{
int i=0,k=0;
(*L)=(SqList *)malloc(sizeof(SqList)); //L=(SqList *)malloc(sizeof(SqList));
while(i < n)
{
(*L)->data[k]=a[i]; //L->data[k]=a[i];
k++; i++;
}
(*L)->length=k; //L->length=k;
}
void DispList(SqList *L)
{
for(int i=0;i< L->length;i++) //for(int i<length;i++)
printf("%d ",L->data[i]);
printf("\n");
}