数据结构(C语言)顺序表的合并

来源:百度知道 编辑:UC知道 时间:2024/05/14 06:58:58
#include<stdio.h>
#include<malloc.h>
#define ok 1
#define error 0
#define LIST_INT_SIZE 10
#define elemtype int
typedef struct{
elemtype *elem;
int length;
int listsize;
}sqlist;
int Init_sqlist(sqlist *la)
{
(*la).elem=(elemtype*)malloc(LIST_INT_SIZE*sizeof(elemtype));
if(!(*la).elem)return error;
(*la).length=0;
(*la).listsize=LIST_INT_SIZE;
return ok;
}
void mergelist_sq(sqlist la,sqlist lb,sqlist &lc)
void main()
{
int i;sqlist la,lb,lc;
Init_sqlist(&la);
Init_sqlist(&lb);
for(i=0;i<5;i++)
scanf("%d",la.elem[i]);
la.length=5;
for(i=0;i<5;i++)
scanf("%d",lb.elem[i]);
lb.length=5;
mergelist_sq(la,lb,lc);
}
void mergelist_sq(sqlist la,sqlist lb,sqlist &lc)
{
int *pa,*pb,*pc,*pa_last,*pb_last,i;
pa=la.elem;pb=lb.elem;
lc.listsize=la.length+l

程序没什么大的毛病。。只是一些编写代码时的小疏忽
#include<stdio.h>
#include<malloc.h>
#define ok 1
#define error 0
#define LIST_INT_SIZE 10
#define elemtype int
typedef struct{
elemtype *elem;
int length;
int listsize;
}sqlist;
int Init_sqlist(sqlist *la)
{
(*la).elem=(elemtype*)malloc(LIST_INT_SIZE*sizeof(elemtype));
if(!(*la).elem)return error;
(*la).length=0;
(*la).listsize=LIST_INT_SIZE;
return ok;
}
void mergelist_sq(sqlist la,sqlist lb,sqlist &lc) // 忘了加;
void main()
{
int i;sqlist la,lb,lc;
Init_sqlist(&la);
Init_sqlist(&lb);
for(i=0;i<5;i++)
scanf("%d",la.elem[i]); // 应该改为 scanf( "%d",&la.elem[i] );
la.length=5;
for(i=0;i<5;i++)
scanf("%d",lb.elem[i]); // 同上
lb.length=5;
mergelist_sq(la,lb,lc);
}
void mergelist_sq(sqlist la,sqlist lb,sqlist &lc)
{
i