#include <stdio.h>
#include <stdio.h>
#include <stdlib.h>
#define MAXSIZE 100
typedef struct {
int data[MAXSIZE];
int length;
} SqList;
void InitList(SqList *L) {
L->length = 0;
}
void MergeList(SqList *La, SqList *Lb, SqList *Lc) {
int i = 0, j = 0, k = 0;
while (i < La->length && j < Lb->length) {
if (La->data[i] <= Lb->data[j]) {
Lc->data[k++] = La->data[i++];
} else {
Lc->data[k++] = Lb->data[j++];
}
}
while (i < La->length) {
Lc->data[k++] = La->data[i++];
}
while (j < Lb->length) {
Lc->data[k++] = Lb->data[j++];
}
Lc->length = k;
}
int main() {
SqList La, Lb, Lc;
InitList(&La);
InitList(&Lb);
InitList(&Lc);
La.length = 3;
La.data[0] = 1;
La.data[1] = 3;
La.data[2] = 5;
Lb.length = 4;
Lb.data[0] = 2;
Lb.data[1] = 4;
Lb.data[2] = 6;
Lb.data[3] = 7;
MergeList(&La, &Lb, &Lc);
printf("合并后的顺序表 Lc 为:");
for (int i = 0; i < Lc.length; i++) {
printf("%d ", Lc.data[i]);
}
printf("\n");
return 0;
}