数据结构中的线性表
/* HELLO.C -- Hello, world */#include "stdio.h"
#include "conio.h"
#define MAXSIZE 100
#include "malloc.h"
typedef struct
{
int data[MAXSIZE];
int last;
}SeqList;
SeqList * init_SeqList()
{
SeqList *L;
L=malloc(sizeof(SeqList));
L->last=-1;
return L;
}
void print_SeqList(SeqList *L)//输出结果
{
int i;
if(L->last==-1)
{
printf("the table is null");
exit(1);
}
for(i=0;i<=L->last;i++)
{
printf("%d",L->data[i]);
}
printf("\n");
}
void marge(SeqList A,SeqList B,SeqList *L)
{
int i,j,k;
i=0;j=0;k=0;
while(i<=A.last&&j<=B.last)
if(A.data[i]<B.data[j])
L->data[k++]=A.data[i++];
else
L->data[k++]=B.data[j++];
while(i<=A.last)
L->data[k++]=A.data[i++];
while(j<=B.last)
L->data[k++]=B.data[j++];
L->last= k-1;
}
main()
{
SeqList *L;
SeqList A[]={1,2,3,4,5};//表A
SeqList B[]={10,5,8,7,9}; //表B
L=init_SeqList();
marge(A,B,L);//错误提示说 这句的A,B的类型不匹配在调用‘marge’时在main函数中
print_SeqList(L);
getch();
}
题目:有顺序表A和B,其元素父亲按由小到大的顺序排列,编一个算法将它们合并成一个顺序表L,且L的元素也是有序排列