將兩個遞增的有序鍊錶合併為乙個遞增的有序鍊錶

2021-07-05 18:16:54 字數 397 閱讀 6584

將兩個遞增的有序鍊錶合併為乙個遞增的有序鍊錶。要求結果鍊錶仍使用原來兩個鍊錶的儲存空間, 不另外占用其它的儲存空間。表中不允許有重複的資料。

void mergelist(linklist &la,linklist &lb,linklist &lc)

//取較小者la中的元素,將pa鏈結在pc的後面,pa指標後移

else if(pa->data>pb->data)

//取較小者lb中的元素,將pb鏈結在pc的後面,pb指標後移

else //相等時取la中的元素,刪除lb中的元素

}pc->next=pa?pa:pb; //插入剩餘段

delete lb; //釋放lb的頭結點

}

鍊錶 將兩個遞增鍊錶合併為乙個遞減鍊錶

王道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...

兩個有序鍊錶合併為有序

include 兩個有序遞增的單鏈表 有頭結點 合併為新單鏈表。include 用尾插法表示這兩個鍊錶較好,因為這樣建立鍊錶是有序的,遞增的。如果用頭插法,for迴圈改為for i n i 0,i 使其新建的鍊錶遞增 typedef struct lnode lnode lnode creat ln...

將兩個非遞減的有序鍊錶合併為乙個非遞增的有序鍊錶

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,...