数构的第一个程序。。。杯具!
刚开始学数构,上课都没怎么听,趁放假自己补补课,写了第一个程序,结果都运行不出结果,希望各位高手指点一下!程序是在一个递增有序的顺序表va中插入一个数。
程序代码:#include<stdio.h>
#include<malloc.h>
#define N 5
typedef int ElemType;
typedef struct{
ElemType data[N];
int length;
}SqList;
void InitList(SqList *&va,ElemType a[],int n){
int i;
va=(SqList *)malloc(sizeof(SqList));
for(i=0;i<N;i++)
va->data[i]=a[i];
va->length=N;
}
int ListLength(SqList *va){
return(va->length);
}
int ListInsert(SqList *&va,ElemType e){
int i,j,length;
length=ListLength(va);
if(e>va->data[length-1])
va->data[va->length]=e;
else{
for(i=0;i<va->length;i++)
if(e<va->data[i]) break;
for(j=va->length;j>i;j--)
va->data[j]=va->data[j-1];
va->data[i]=e;
}
va->length++;
return 1;
}
void DispList(SqList *va){
int i;
for(i=0;i<va->length;i++)
printf("%d",va->data[i]);
printf("\n");
}
void main(){
SqList *va;
int a[N],i,x,e;
printf("输入线性表:\n");
for(i=0;i<N;i++)
scanf("%d",&x);
printf("输入要插入的数:");
scanf("%d",&e);
InitList(va,a,N);
ListInsert(va,e);
DispList(va);
}









