主题:关于数据结构的程序,请求高手帮忙修改一下!谢谢!
typedef struct{
int * elem;
int length;
int listsize;
}sqlist;
sqlist La,Lb,Lc;
void init(int size){
sqlist L;
L.elem=(int *)malloc(size * sizeof(int));
L.length=0;
L.listsize=size;
}
void input(sqlist L,int n){
int i;
for(i=0;i<n;i++){
scanf("%d",L.elem+i);
L.length++;
}
}
int ListLength(sqlist L){
return L.length;
}
void Getelem(sqlist L,int i,int *e) {
*e=*(L.elem+i-1);
}
void ListInsert(sqlist L,int i,int *e){
*(L.elem+i)=*e;
}
void print(sqlist L){
int i;
for(i=0;i<L.length;i++)
printf("%5d",*(L.elem+i));
printf("\n");
}
void main(){
int i,j,k,La_len,Lb_len,ai,bj;
i=j=1;k=0;
int * p;int * q;
La=init(5);
Lb=init(5);
Lc=init(10);
input(La,5);
input(Lb,5);
La_len=Listlength(La);
Lb_len=Listlength(Lb);
printf("Sqlist La :\n");
print(La);
printf("Sqlist Lb :\n");
print(Lb);
while((i<=La_len)&&(j<=Lb_len)){
Getelem(La,i,p);ai=*p;Getelem(Lb,j,q);bj=*q;
if(ai<=bj){ListInsert(Lc,k,p);i++;k++;}
else{ListInsert(Lc,k,q);j++;k++;}
}
while(i<=La_len){
Getelem(La,i,p);ListInsert(Lc,k,p);i++;k++;
}
while(i<=Lb_len){
Getelem(Lb,j,q);ListInsert(Lc,k,q);j++;k++;
}
print(Lc);
}
int * elem;
int length;
int listsize;
}sqlist;
sqlist La,Lb,Lc;
void init(int size){
sqlist L;
L.elem=(int *)malloc(size * sizeof(int));
L.length=0;
L.listsize=size;
}
void input(sqlist L,int n){
int i;
for(i=0;i<n;i++){
scanf("%d",L.elem+i);
L.length++;
}
}
int ListLength(sqlist L){
return L.length;
}
void Getelem(sqlist L,int i,int *e) {
*e=*(L.elem+i-1);
}
void ListInsert(sqlist L,int i,int *e){
*(L.elem+i)=*e;
}
void print(sqlist L){
int i;
for(i=0;i<L.length;i++)
printf("%5d",*(L.elem+i));
printf("\n");
}
void main(){
int i,j,k,La_len,Lb_len,ai,bj;
i=j=1;k=0;
int * p;int * q;
La=init(5);
Lb=init(5);
Lc=init(10);
input(La,5);
input(Lb,5);
La_len=Listlength(La);
Lb_len=Listlength(Lb);
printf("Sqlist La :\n");
print(La);
printf("Sqlist Lb :\n");
print(Lb);
while((i<=La_len)&&(j<=Lb_len)){
Getelem(La,i,p);ai=*p;Getelem(Lb,j,q);bj=*q;
if(ai<=bj){ListInsert(Lc,k,p);i++;k++;}
else{ListInsert(Lc,k,q);j++;k++;}
}
while(i<=La_len){
Getelem(La,i,p);ListInsert(Lc,k,p);i++;k++;
}
while(i<=Lb_len){
Getelem(Lb,j,q);ListInsert(Lc,k,q);j++;k++;
}
print(Lc);
}