数据结构上机题 //1、设有两个有序序列,利用归并排序将它们排成有序表,并输出。 #include"stdio.h" #include"stdlib.h" #define LIST_INIT_SIZE 100 #define LISTINCREMENT 10 #define OVERFLOW -2 #define OK 1 typedef struct { int *elem; int length; int listsize; }SqList; int InitList_Sq(SqList &L) {L.elem=(int *)malloc(LIST_INIT_SIZE*sizeof(int)); if(!L.elem)exit(OVERFLOW); L.length=0; L.listsize=LIST_INIT_SIZE; return OK; } void MergeList_Sq(SqList La,SqList Lb,SqList &Lc) {int *pa,*pa_last,*pb,*pb_last,*pc; pa=La.elem; pa_last=La.elem+La.length-1; pb=Lb.elem; pb_last=Lb.elem+Lb.length-1; Lc.listsize=Lc.length=La.length+Lb.length; pc=Lc.elem=(int*)malloc(Lc.listsize*sizeof(int)); if(!Lc.elem)exit(OVERFLOW); while(pa<=pa_last&&pb<=pb_last) {if(*pa<=*pb)*pc++=*pa++; else *pc++=*pb++; } while(pa<=pa_last)*pc++=*pa++; while(pb<=pb_last)*pc++=*pb++; } int Input(SqList &L) { int i,j; int *pa=L.elem; printf("要输入的元素个数:"); scanf("%d",&i); printf("输入有序序列:"); for(j=0;j #include #define OK 1 #define ERROR -1 #define OVERFLOW -2 #define LIST_INIT_SIZE 100 typedef struct{ int *elem; int length; int listsize; }SqList; int InitList_Sq(SqList &L){ L.elem=(int *)malloc(LIST_INIT_SIZE*sizeof(int)); if(!L.elem) exit(OVERFLOW); L.length=0; L.listsize=LIST_INIT_SIZE; return OK; } int ListInsert_Sq(SqList &L, int i,int e){ if((i<1)||(i...