資料結構之合併鍊錶

2021-09-10 16:01:46 字數 407 閱讀 2721

題目:輸入兩個單調遞增的鍊錶,輸出兩個鍊錶合成後的鍊錶,當然我們需要合成後的鍊錶滿足單調不減規則

分析:鍊錶1的頭結點小於鍊錶2的頭結點,那麼鍊錶1的頭結點將是合併後鍊錶的頭結點,如果鍊錶2的頭結點小於鍊錶1的頭結點那麼鍊錶2的頭結點將是合併後剩餘節點的頭結點,當我們把兩個鍊錶中值較小的頭結點鏈結到合併的鍊錶之後,兩個鍊錶剩餘的節點依然是排序的,合併過程和以前一樣這樣就是遞迴。當第乙個鍊錶是空鍊錶,那麼需要和第二個鍊錶合併,同樣第二個鍊錶的頭結點是空,那麼和第乙個鍊錶合併。

public listnode merge(listnode list1,listnode list2)

if(list2==null)

listnode merge=null;

if(list1.valreturn merge;

}

資料結構之鍊錶合併演算法

鍊錶合併演算法 包括一些基本運算 includeusing namespace std typedef char datatype 結點資料型別,假設為char typedef struct node pointer 結點指標型別 struct node 結點結構 typedef pointer l...

資料結構 表之煉表

頭插法建立 尾插法建立 顯示 銷毀 include include using namespace std typedef int elemtype typedef struct lnode linklist void createlinklistf linklist l,elemtype a,in...

資料結構之鍊錶

頭結點 第乙個有效結點之前的那個結點 頭結點並不存有效資料 加頭結點的目的主要是為了方便對鍊錶的操作 頭指標 指向頭結點的指標變數 尾指標 指向尾節點的指標變數 如果希望通過乙個函式對鍊錶進行處理,只需要乙個引數 頭指標 首先要定義乙個單鏈表儲存結構 然後建立乙個空表,即初始化,我寫的這個提前設定好...