将有序顺序表L1和有序顺序表L2合并为一个新的有序顺序表L:
#include<stdio.h>
#define MAXSIZE 50
typedef int ElemType;
typedef struct{
ElemType data[MAXSIZE];
int len;
}SqList;
int Merge_List(SqList L1,SqList L2,SqList *L){
if((L1->len+L2->len)>L->len)
return 1;
int i=0,j=0,k=0;
while(i<L1->len&&j<L2->len){
if(L1->data[i]<=L2->data[j])
L->data[k++]=L1->data[i++];
else
L->data[k++]=L2->data[j++];
}
//没有比较完的顺序表
while(i<L1->len)
L->data[k++]=L1->data[i++];
while(j<L2->len)
L->data[k++]=L1->data[j++];
L->len=k;
return 0;
}