資料結構 棧 佇列 鍊錶

2022-07-08 11:27:15 字數 1126 閱讀 8085

1,棧只能從表的一端訪問資料,另一端是封閉的。

2,在棧中,無論是存資料還是取資料,都必須遵循"先進後出"的原則,即最先進棧的元素最後出棧。

基於 棧結構的特點,在實際應用中,通常只會對棧執行以下兩種操作:

向棧中新增元素,此過程被稱為"進棧"(入棧或壓棧);

從棧中提取出指定元素,此過程被稱為"出棧"(或彈棧);

棧是一種 "特殊" 的線性儲存結構,因此棧的具體實現有以下兩種方式:

順序棧:採用順序儲存結構可以模擬棧儲存資料的特點,從而實現棧儲存結構;

鏈棧:採用鏈式儲存結構實現棧結構;

棧的使用

1.棧儲存結構可以幫我們檢測**中的括號匹配問題。

2.進製轉換

3.瀏覽器回退功能

佇列

佇列,和棧一樣,也是一種對資料的"存"和"取"有嚴格要求的線性儲存結構。

通常,稱進資料的一端為 "隊尾",出資料的一端為 "隊頭",資料元素進佇列的過程稱為 "入隊",出佇列的過程稱為 "出隊"。

不僅如此,佇列中資料的進出要遵循 "先進先出" 的原則,即最先進佇列的資料元素,同樣要最先出佇列。

佇列儲存結構的實現有以下兩種方式:順序佇列:在順序表的基礎上實現的佇列結構;

鏈佇列:在鍊錶的基礎上實現的佇列結構;

兩者的區別僅是順序表和煉表的區別,即在實際的物理空間中,資料集中儲存的佇列是順序佇列,分散儲存的佇列是鏈佇列。

特點

資料從佇列的一端進,另一端出;

資料的入隊和出隊遵循"先進先出"的原則;

佇列的實際應用

實際生活中,佇列的應用隨處可見,比如排隊買東西、醫院的**系統等,採用的都是佇列的結構。

鍊錶是一種物理儲存結構上非連續、非順序的儲存結構,資料元素的邏輯順序是通過鍊錶中的指標鏈結次序實現的。

正式構建乙個鍊錶類

應該具有以下屬性和方法

count 元素數量

head 頭節點指標

insert 向指定位置插入元素

get/set 獲取和修改節點值

remove 刪除指定元素

資料結構 棧 佇列 鍊錶

棧 1,棧只能從表的一端訪問資料,另一端是封閉的。2,在棧中,無論是存資料還是取資料,都必須遵循 先進後出 的原則,即最先進棧的元素最後出棧。基於 棧結構的特點,在實際應用中,通常只會對棧執行以下兩種操作 向棧中新增元素,此過程被稱為 進棧 入棧或壓棧 從棧中提取出指定元素,此過程被稱為 出棧 或彈...

實現棧 佇列 鍊錶資料結構(java)

1.陣列實現棧 public class mystack 壓入元素 public void push int element 把新增的元素放入新的陣列中 newarr elements.length element 使用新陣列替換舊陣列 elements newarr public int pop ...

資料結構與演算法(鍊錶 棧 佇列)

資料結構與演算法 演算法的5個基本特性 輸入 輸出 有窮性 確定性和可行性 演算法的時間複雜度 t o f n 空間複雜度 s n o f n 儲存空間的實現 線性表 list 零個或多個資料元素的有限序列 順序儲存結構 連續的儲存單元 define maxsize 20 typedef int e...