我边写了一个比较a,b两线性表的大小的程序,但无法运行
#include<stdio.h>const LIST_INIT_SIZE=80; // 线性表存储空间的初始分配量
const LISTINCREMENT=10; // 线性表存储空间的分配增量
typedef char ElemType;
typedef struct
{
ElemType *elem; // 存储空间基址
int length; // 当前长度
int listsize; // 当前分配的存储容量
int incrementsize; // 约定的增补空间量
}SqList;
// 构造一个空的线性表
void InitList_Sq(SqList &L) {
L.elem= new ElemType[LIST_INT_SIZE];
if(!L.elem) printf("分配失败\n");
L.length=0;
L.incrementsize=LISTINCREMENT;
L.listsize=LIST_INIT_SIZE;
}
void InputElem_Sq(SqList &L)
{
int i;
char ch;
printf("a string:\n");
for(i=0;(i<100)&&((ch=getchar())!=EOF)&&(ch!='\n');i++)
{
L.elem[i]=(char)ch;
}
L.elem[i++]='\0';
L.length=i-1;
printf("input was :%s,L.length=%d\n",L.elem,L.length);
int compare( SqList A, SqList B )
{
int j=0;
while (j<A.length&&j<b.lenghth){
if(A.elem[j]<B.elem[j]) return(-1);
else if (A.elem[j]>B.elem[j]) return(1);
else j++;}
if(A.length==B.length) return(0);
else if(A.length<B.length ) return(-1);
else return (-1);}
void main()
{
int i;
SqList La,Lb;
InitList_Sq(La);
InitList_Sq(Lb);
printf("Input the numbers of La");
InputElem_Sq(La);
printf("Input the numbers of Lb");
InputElem_Sq(Lb);
printf("比较结果是:");
i=compare(La,Lb);
switch(i)
{
case 0:printf("A=B\n");break;
case 1:printf("A=B\n");break;
case -1:printf("A=B\n");break;
}
}