基本資料結構:鍊錶(list)線性表
線性表通過儲存結構可以分為順序表和煉表,其中順序表是順序結構(陣列)儲存的線性表,鍊錶是鏈式結構儲存的線性表。
順序表
順序表是通過順序結構儲存的線性表,一般通過動態陣列實現,也可以通過vector實現(vector底層是順序表,實質為用順序表實現順序表)。
鍊錶
鍊錶中儲存空間不連續。鍊錶的最小單位為結點,結點分為資料域和指標域,儲存資料資訊元素的域稱為資料域,儲存直接後繼位置的域稱為指標域。n個結點鏈結成乙個鍊錶,鍊錶結點中只包含乙個指標域稱為單鏈表,若結點中還有儲存直接前驅位置的指標稱為雙向鍊錶。
(1)鍊錶中為什麼要設立頭結點?
頭結點的設立為了操作的統一,統一體現在,有了頭結點,對在第一元素結點前插入結點或刪除第一結點,其操作就和其他結點的操作統一了。
(2)頭指標和頭結點的區別?
頭指標是鍊錶指向第乙個結點的指標,若有頭結點,則是指向頭結點的指標。頭指標是鍊錶的必須要素,頭結點非必須,只是為了操作統一。
空鍊錶,是指頭結點的指標域為空。一般的鍊錶中,尾結點的指標域為空。
(3)鍊錶實現時,如何判斷鍊錶中是否有頭結點?
建立鍊錶時,先建立頭結點,結點的指標域指向null;遍歷、新增、刪除元素時,迴圈的索引從1開始。
單向鍊錶,單向迴圈鍊錶,雙向鍊錶,雙向迴圈鍊錶
mysql 線性表 資料結構之線性表
概要 參考 大話資料結構 把常用的基本資料結構梳理一下。線性表定義 線性表 list 零個或多個資料元素的有限序列。若將線性表記為 a 1,cdots,a a i,a cdots,a n 則表中 a 領先於 a i a i 領先於 a 稱 a 是 a i 的直接前驅元素,a 是 a i 的直接後繼元...
資料結構之線性表
從現在開始,我們開始討論如何實現一些常用的資料結構和其中的一些經典演算法.等把資料結構講完了.我可能會繼續討論vc 的程式設計只是以及vs平台下的c c 開發等等.呵呵.我們進入正題吧.我在這裡就只實現線性表的連表結構.當然了,這裡實際上包含了好多知識.我希望大家在引用的時候.一定要領悟裡面的一些變...
資料結構之線性表
線性表是具有相同特性的資料元素的乙個有限序列。該序列中所含元素的個數叫做線性表的長度,用n表示,n 0。當n 0時,表示線性表是乙個空表,即表中不包含任何元素。設序列中第i i表示位序 個元素為ai 1 i n 線性表的一般表示為 a1,a2,ai,ai 1,an include include d...