單鏈表練習題

2021-10-23 06:47:47 字數 811 閱讀 4911

題目一:假設有兩個按元素值遞增有序排列的線性表 a 和 b,均以單鏈表作儲存結構,請編寫演算法將 a 表和 b 表歸併成乙個按元素值遞減有序(即非遞增有序,允許表中含有值相同的元素)排列的線性表 c,並要求利用原表(即 a 表和 b 表)的結點空間構造 c 表。

演算法:誰的值小誰就先插入鍊錶c中,插入時用頭插法插入,最後就是遞減有序

void

merge

(linklist a, linklist b, linklist c)

else

if(pa->data == pb->data)

else

}//當鍊表a中還有資料時

while

(pa!=

null

)//當鍊表b中還有資料時

while

(pb!=

null

)}

題目二:已知遞增有序的單鏈表 a,b 和 c 分別儲存了乙個集合,設計演算法實現 a:=a∪(b∩c),

並使求解結構 a 仍保持遞增。要求演算法的時間複雜度為 o(|a|+|b|+|c|)。其中,|a|為集合a 的元素個數

void

union

(linklist a, linklist b, linklist c)

else

if(pb->data > pc->data)

else

if(pa->data == pb->data)

else}}

}

單雙鏈表練習題

本文是關於鍊錶的一些操作 包括單鏈表和雙向迴圈鍊錶 1 單鏈表,雙鏈表的建立。2 單鏈表和雙鏈表的列印。3 單鏈表的插入,刪除。4 雙鏈表的插入和刪除。5 單鏈表的逆置。6 單鏈表節點的個數。7 單鏈表,雙鏈表的查詢。函式 鍊錶相關問題 typedef int datatype typedef st...

單鏈表相關操作練習題

鍊錶結點結構如下 class node override public string tostring public node next 計算鍊錶的長度。列印出煉表中倒數第k個結點內容。把鍊錶倒轉或者逆序。鍊錶倒序列印但不改變鍊錶的結構 按照鍊錶中的資料大小順序合併兩個鍊錶 public class...

單錶查詢練習題

create table employee id int,name varchar 20 password varchar 20 gender varchar 10 age int default 25,email varchar 50 salary double 8,2 state int,dep...