//尾插法建表
void
createfromtail
(linklist l)
else}}
linklist mergelinklist
(linklist la, linklist lb)
else}if
(pa)
//若表la未完,剩餘元素全部新增到lc*/
r->next=pa;
else
r->next=pb;
free
(lb)
;return
(lc);}
void
main()
printf
("\n");
printf
("請輸入單鏈表lb中的元素(以-99結束!):\n");
lb=(node *
)malloc
(sizeof
(node)
);
lb->next=
null
;createfromtail
(lb)
;printf
("單鏈表lb中元素為:");
p = lb->next;
while
(p!=
null
)printf
("\n");
lc=mergelinklist
(la,lb)
;printf
("如果您想看合併後的結果");
system
("pause");
printf
("合併後單鏈表lc中元素為:");
p = lc->next;
while
(p!=
null
)printf
("\n");
system
("pause");
}
合併兩個有序單鏈表
include using namespace std typedef struct nodenode,linklist void creatlist linklist l void insert int n,node p void show linklist l cout num head2 ne...
合併兩個有序單鏈表
思路 第一種 遞迴法 這個方法不好想,遞過去的時候做的事情是找到新的單鏈表的下乙個節點,歸的時候做的是告訴每個節點的next是什麼繫結關係,帶入資料就能知道怎麼回事 public listnode merge listnode a,listnode b if b null listnode newh...
合併兩個有序單鏈表
題目 給定兩個有序單鏈表的頭節點head1和head2,請合併兩個有序鍊錶,合併後的鍊錶依然有序,並返回合併後的鍊錶的頭節點。例如 0 2 3 7 null 1 3 5 7 9 null 合併後的鍊錶為 0 1 2 3 3 5 7 7 9 null 本題考察鍊錶基本操作 關鍵是能寫出時間複雜度o m...