【正确答案】算法实现如下:
#include<sequenlist.h> /*将顺序表的定义及基本操作写在头文件sequenlist.h中*/
void COPYLIST(SEQUENLIST *LA,SEQUENLIST *LB)
{ int k,n;
DATATYPEI x;
INITIATE(LB);
n=LENGTH(LA);
if(n!=0)
for(k=1;k<=n;k++)
{x=GET(LA,k);
INSERT(LB,k,x);
}
else
printf("List iS empty");
}
void create(SEQUENLIST*L) /*建立顺序表*/
{ int i,j,k;
printf("输入线性表的元素,-99结束");
scanf("/%d",&i);
j=0;
k=0;
while(i!=-99)
{ j++;
L->data[k]=i;
k++;
scanf("/%d",&i);
}
L->len=j;
}
void print(SEQUENLIST*L) /*输出顺序表*/
{ int i;
for(i=0;i<L->len;i++)
printf("/%d\t",L->data[i]);
}
main()
{ SEQUENLIST a,b,*la,*lb;
la=&a;
lb=&b;
create(la);
print(la);
COPYLIST(la,lb);
print(lb);
}
【答案解析】