資料結構 兩個有序單鏈表合併

2021-10-10 04:51:57 字數 1210 閱讀 3262

//尾插法建表

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