歸併兩個遞增序列鍊錶為乙個遞減有序鍊錶:假設有兩個按元素值遞增有序排列的線性表a和b,均以單鏈表作為儲存結構。
請程式設計實現將表a和表b歸併成乙個按元素值遞減有序排列的線性表c(注意:非嚴格遞減,也就是說本題中的資料有可能相等),並要求利用原表的結點空間構造c表。
輸入第一行先輸入兩個小於100的正整數m,n,第二行從小到大的輸入m個整數,第三行從小到大的輸入n個整數。
輸出歸併這兩個序列為乙個遞減的序列c,用鍊錶儲存,之後輸出按順序輸出鍊錶c的值,每個數占一行。
輸入樣例
輸出樣例
#include
#include
typedef struct lnode
lnode,*linklist;
linklist createlist(linklist l,int n)
p->next=null;
return l;
}linklist combinelist(linklist l)
else
}while(pa)
while(pb)
return l;
}/*linklist inverselist(linklist l)
return p;}*/
linklist inverselist(linklist l)
p->next->next=l->next;
l->next=p->next;
p->next=null;
return l;
}int main()
return 0;
}
鍊錶 將兩個遞增鍊錶合併為乙個遞減鍊錶
王道p38t13 主 linklist merge desc linklist a,linklist b else t next c next c next t if ap null r ap else r bp while r null return c 完整 include include us...
將兩個非遞減的有序鍊錶合併為乙個非遞增的有序鍊錶
void mergelist linklist la,linklist lb,linklist lc,la表為空,用q指向pb,pb指標後移 else if pb lb表為空,用q指向pa,pa指標後移 else if pa data pb data 取較小者 包括相等 la中的元素,用q指向pa,...
歸併兩個有序鍊錶
資料結構基礎 c語言版 第2版,ellis horowitz著,朱仲濤譯 4.2節,page120,習題6 令x x1,x2,xn 和y y1,y2,ym 是兩個鍊錶,按資料域的非遞減序排列。構造演算法歸併這兩個鍊錶,結果儲存在新鍊錶z中,z也按資料域的非遞減序排列。在歸併過程,表x和表y中的結點一...