資料結構與演算法 C 語言描述(chap11鍊錶

2021-08-11 04:03:07 字數 633 閱讀 9703

鍊錶的定義:鍊錶是被稱為節點的類物件的群集。每個節點通過乙個引用鏈結到列表呢的後繼節點上。節點包括儲存資料的字段和節點引用的字段。到另乙個節點的引用被成為是鏈結。

圖中需要注意的地方就是我們對鍊錶的起始處做了乙個特殊的節點,頭節點(header),在鍊錶結尾的標記是指向空值(null)實現的(既然是記憶體中處理的類物件,所以就用null物件來表示列表的末尾),可以稱之為「末節點」。

陣列和鍊錶之間的乙個主要區別就是陣列的元素是通過索引去引用,而鍊錶的元素是通過他們與陣列其他元素的關係進行引用。

使用鍊錶插入煉表項時,所要做的就是將插入節點之前的節點鏈結改為只想要插入的節點,並且把新的節點鏈結設為指向插入之前前節點所指向的節點。

刪除鍊錶節點就是把要刪除的節點之前節點的鏈結重定向打刪除節點所指向的節點,並且把刪除的節點的鏈結設定為空(null)就可以了。

當然還有其他方法可以在linkedlist類中實現,但是插入和刪除這兩種方法正式使用鍊錶超過陣列的原因所在。

資料結構與演算法分析 C語言描述

第一種方法,先進行排序,再返回位置k上的元素。簡單排序問題 第二種方法,先將前k個元素讀入,再將剩下的元素逐個讀入,如果新元素大於陣列中第k個元素就找到他合適的位置並將陣列中的乙個元素擠出。第三種方法,利用快排的特點 假設預設公升序排序 每一次快排操作都能確定乙個數在排序結果中的最終固定位置,即該位...

資料結構與演算法分析 c 語言描述

編寫帶有下列宣告的兩個例程 void permute string str void permute char str,int low,int high 第乙個例程是個驅動程式,它呼叫第二個例程並顯示string str中字元的所有排列。例如,str是 abc 那麼輸出的串則是abc,acb,bac...

《資料結構與演算法分析(C 語言描述)》

第1章 uml教程 更多軟體恐怖故事 nist新聞稿 軟體錯誤每年給美國經濟造成595億美元的損失 nist報告本身 pdf 第2章 ieee對實數的反感 c 的按位運算子 第3章 工會 記憶體結構 第5章模式匹配 資料加密 第9章用位集實現集 有關valarrays的更多資訊 第10章 用於解析表...