设计算法,将递增有序顺序表A、B中的元素合并为一个有序顺序表C,要求时间尽可能少(写出数据结构定义)?

问题描述:

设计算法,将递增有序顺序表A、B中的元素合并为一个有序顺序表C,要求时间尽可能少(写出数据结构定义)?

struct sqlist{ int a[MaxSie 1];int length;}A,B,C;
大至如下,细节自已先思考一下.
whil(A.a[i]在具体一点吧~~~只要稍加思考,这样的算法一点也不难写! #define MaxSize 4096 struct Sqlist{int length;int d[MaxSize x 1];};//加号发不了,用x代替 typedef struct Sqlist sqlist; int mergeSqlist(sqlist*C,const sqlist*B,const sqlist *A){ int i,j,k; i=j=k=1; C->length=A->length B->length; if(C->length>MaxSize)return 0; while(ilength&&jlength){while(ilength&&A->d[i]d[j]) C->d[k xx ]=A->d[i xx ]; while(jlength&& B->d[j]d[i]) C->d[k xx ]=B->[j xx ];//xx代替两个加号while(ilength)C->d[k xx]=A->d[i xx];//xx代替两个加号 while(ilength)C->d[k xx ]=B->d[j xx ];//xx代替两个加号 return C->length; }