数构的第一个程序。。。杯具!
刚开始学数构,上课都没怎么听,趁放假自己补补课,写了第一个程序,结果都运行不出结果,希望各位高手指点一下!程序是在一个递增有序的顺序表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); }