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

2021-07-05 18:16:54 字數 428 閱讀 2067

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,pa指標後移

else

//取較小者lb中的元素,用q指向pb,pb指標後移

q->next = lc->next;

lc->next = q;

//將q指向的結點插在lc 表的表頭結點之後

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

}

兩個有序鍊錶合併為有序

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

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

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

合併兩個非遞減有序的單迴圈鍊錶

合併兩個非遞減有序的單迴圈鍊錶 本題要求實現乙個合併函式,實現對有序單迴圈鍊錶tail1和tail2的合併,要求合併時實現去重操作,即合併後的鍊錶中沒有重複的元素,並且合併後的鍊錶為遞增有序鍊錶。函式介面定義 pnode mergendeduplicatelist pnode tail1,pnode...