歸併兩個有序鍊錶

2021-10-16 12:44:18 字數 1084 閱讀 9067

《資料結構基礎》c語言版 第2版,ellis horowitz著,朱仲濤譯

4.2節,page120,習題6

令x=(x1,x2,…,xn)和y=(y1,y2,…ym)是兩個鍊錶,按資料域的非遞減序排列。構造演算法歸併這兩個鍊錶,結果儲存在新鍊錶z中,z也按資料域的非遞減序排列。在歸併過程,表x和表y中的結點一一鏈到z中,要求不用臨時結點。討論演算法的複雜度。

**如下:

#include

#include

#include

using

namespace std;

typedef

struct nodelistnode;

listnode*

create_list

(int length)

listnode *first =

(listnode*

)malloc

(sizeof

(listnode));

first-

>link =

null

; listnode *p = first;

int value;

printf

("請輸入%d個整數:\n"

,length)

;for

(int i=

1;i<=length;i++

) p-

>link =

null

;return first;};

listnode*

merge_list

(listnode *l1,listnode *l2)

else

temp = temp-

>link;

}while

(temp1)

while

(temp2)

return new_list;

}void

print_list

(listnode* list)

while

(tmp)

}int

main()

兩個有序鍊錶的歸併!!!

使用遞迴方法程式設計 已經兩個鍊錶head1和head2各自有序,請把它們合併成乙個鍊錶依然有序。if 1 include include include typedef struct nodenode void creat node head node merge linklist node he...

c語言歸併兩個有序鍊錶

歸併有序列表l1,l2到l3,使l3有序,從小到大 xxwu include include include typedef int elemtype typedef struct lnode lnode,linklist 初始化 尾插法 以9999退出 linklist initlisttill ...

鍊錶 合併兩個有序鍊錶

標籤 鍊錶 題目描述 輸入兩個單調遞增的鍊錶,輸出兩個鍊錶合成後的鍊錶,當然我們需要合成後的鍊錶滿足單調不減規則。解題思路 兩種解法 遞迴和非遞迴 拓展 參考 public listnode merge listnode list1,listnode list2 else 非遞迴 public li...