#include<stdio.h> #include<string.h> #include<stdlib.h> #define MAXSIZE 100 typedef int DataType; typedef struct { DataType data[MAXSIZE]; int last; }seqlist; seqlist *Creat_seqlist() { int n; seqlist *L; L=(seqlist *)malloc(sizeof(seqlist)); L->last=-1; printf("请输入要创建的线性表中数据元素的个数:\n"); scanf("%d",&n); for(int i=0;i<n;i++) { printf("请输入第%d个数据元素的值:",i+1); scanf("%d",&L->data[i]); } L->last=n-1; return L; } int main() { seqlist *A,*B,*C; A=Creat_seqlist(); B=Creat_seqlist(); C=(seqlist *)malloc(sizeof(seqlist)); C->last=-1; int i,j,k; i=0,j=0,k=0; while(i<=A->last&&j<=B->last) { if(A->data[i]<B->data[j]) { C->data[k]=A->data[i]; i++; k++; } else { C->data[k]=B->data[j]; k++; j++; } } while(i<=A->last) { C->data[k]=A->data[i]; i++; k++; } while(j<=B->last) { C->data[k]=B->data[j]; j++; k++; } C->last=k-1; printf("顺序表C为:\n"); for(int i=0;i<=C->last;i++) { if(i==0) printf("%d",C->data[i]); else printf(" %d",C->data[i]); } printf("\n"); system("pause"); return 0; }