讓陣列的元素都是由兩個資料域組成,data
和cur
。陣列的每個下標都對應乙個data
和乙個cur
。data用來存放資料元素,cur相當於單鏈表中的next指標,存放該元素的後繼在陣列中的下標。
這種用陣列描述的鍊錶叫做靜態鍊錶
陣列第乙個和最後乙個元素作為特殊元素處理,不存資料。
通常把未被使用的陣列元素稱為備用鍊錶
陣列第乙個元素,即下標為0 的元素的 cur 就存放備用鍊錶的第乙個結點的下標
最後乙個元素的 cur 則存放第乙個有數值的元素的下標,相當於單鏈表的頭結點的作用,整個鍊錶為空時,則為 0
將單鏈表中的終端結點的指標由 空指標 改為指向頭結點,就使整個單鏈表形成乙個環,這種頭尾相接的單鏈表稱為單迴圈鍊錶,也就是迴圈鍊錶
解決從當中任意乙個結點出發,訪問到鍊錶的全部結點
在單鏈表的每個結點中,在設定乙個指向其前驅結點的指標域
棧(stack)是限定僅在表尾進行插入和刪除操作的線性表
允許插入和刪除的一段稱為棧頂(top)
,另一端稱為棧底(bottom)
,不含任何資料結構的棧稱為空棧
棧又稱為後進先出(last in first out)
的線性表,簡稱為lifo結構
棧的插入操作,叫做進棧(壓棧,入棧)
棧的刪除操作,叫做出棧(彈棧)
學習資料結構Day4
鍊錶 之前看過了動態陣列,棧和佇列,雖然我們把第乙個叫做動態陣列,但是,他們的底層實質上還是靜態陣列。靠 resize來實現動態陣列。而鍊錶是真正的資料結構 相當於是一串火車,將資料放在車廂中,兩個車廂之間還需要乙個個節點來相互串聯。優點 實現了真正的動態。缺點 無法進行隨機訪問 public cl...
《大話資料結構》筆記 day3
獲得鍊錶的第i個資料的思路 宣告乙個結點 p 指向鍊錶第乙個結點,初始化 j 從 1 開始 當j i 時,就遍歷鍊錶,讓p的指標向後移動,不斷指向下一結點,j 累加 1 若到鍊錶末尾 p 為空,則說明第 i 個元素不存在 否則查詢成功,返回結點 p 的資料 核心思想 工作指標後移 插入 s next...
Day4 選擇結構
首先我們先來說一下流程控制 舉個簡單的範例 對學員的考試成績評測,要求根據不同學員成績,給予不同評測結果,評測規則如下 成績 80 良好 成績 60 中等 成績 60 差 這個條件大家看一下,是不是存在選擇問題?如果要求存在選擇,那麼就會出現先後順序問題,也就是我們所說的流程。如果小明的成績大於90...