資料結構 線性表 (棧,佇列,串)

2022-08-21 06:30:14 字數 1802 閱讀 8643

定義:n個元素的有限序列 ,記為(a1,a2,a3,...,an)

特點:存在唯一表頭表尾。除了表頭,每個元素只有乙個直接前驅。除了表尾,每個元素只有乙個直接後驅。

儲存結構

1 順序儲存 

位址連續的儲存單元,依次儲存表中資料元素。使得邏輯相鄰的元素,物理位置上也相鄰

優點: 隨機訪問表中元素。  loc元素位置 l元素所佔空間   loc(ai)=loc(a1)+(i-1)*l    

缺點:插入刪除需要移動大量元素。

2 鏈式儲存

結點儲存元素,結點空間可連續,也可不連續,因此需儲存元素的連線的邏輯關係。

結點空間需要時再申請。

優點 插入 刪除操作方便。

缺點 增加了儲存空間開銷,不能隨機訪問任一點。

(1)雙向鍊錶:每個結點包含兩個指標,指明直接前驅和直接後繼元素,可在兩個方向上遍歷鍊錶。

(2)迴圈鍊錶:表尾結點的指標指向表中的第乙個結點 ,可在任何位置上開始遍歷整個鍊錶。

(3)靜態鍊錶:借助陣列來描述線性表的鏈式儲存結構。

.線性表的插入和刪除運算

(1)基於順序儲存結構的運算

插入元素前要移動元素以挪出空的儲存單元,然後再插入元素:

刪除元素時同樣需要移動元素,以填充被刪除出來的儲存單元。

(2)基於鏈式儲存結構的運算

在鏈式儲存結構下進行插入和刪除,其實質是對相關指標的修改。

棧:先進後出的線性表 

進行插入和刪除的是棧頂另一端是棧底。

鏈式儲存:鏈棧,鍊錶的頭指標是棧頂指標,插入刪除是棧頂進行,無頭結點。

佇列:先進先出(fifo)的線性表

只允許表的一端插入(隊尾,rear),另一端刪除(隊頭,front)。

鏈式儲存:鏈佇列,設頭結點,頭指標指向頭結點。判空條件:頭指標尾指標的值相同,均指向頭結點。

串:由字元指向的有限序列,取值範圍受限的線性表。 

s為串名,a1,a2...ans1串值,記為s=『a1,a2,...,an』.

串的幾個基本概念

●空串:長度為零的串,空串不包含任何字元。

●空格串:由乙個或多個空格組成的串。

●子串:由串中任意長度的連續字元構成的序列。

含有子串的串稱為主串。

子串在主串中的位置指子串首次出現時,該子串的第乙個字元在主串中的位置。

空串是任意串的子串。

v主串: abcbcc

v子串:cb

●串相等:指兩個串長度相等且對應位置上的字元也相同。

●串比較:兩個串比較大小時以字元的ascii碼值作為依據。

比較操作從兩個串的第乙個字元開始進行,字元的ascii碼值大者所在的串為大,

若其中乙個串先結束,則以串較長者為大。

cfdeg

cfed

串的儲存結構

每個字串的最後要增加個串結束標誌\0。

順序儲存 用一組位址連續的儲存單元來儲存串值的字串行。

鏈式儲存 當用鍊錶儲存串中的字元時,每個結點中可以儲存乙個字元,也可以儲存多個字元,要考慮儲存密度問題。

資料結構 線性結構(線性表 棧與佇列)

線性表的抽象定義集合a和集合b的並集操作線性表的順序儲存的結構 位址計算獲得元素操作 getelem插入操作 listinsert刪除操作 lisedelete優缺點比較。線性表的單鏈表儲存結構 linklistgetelemlistinsertlistdeletecreatelisthead 頭插...

資料結構 線性表 棧和佇列

資料概念 資料是對客觀事物的符號表示 資料元素是資料的基本單位 資料物件是性質相同的資料元素的集合 資料結構是相互間存在一種或多種特定關係的資料元素集合,是元素的有限集 元素上關係的有限集 資料的關係包括邏輯結構和儲存結構 資料型別是乙個值的集合和定義在這個值集上的一組操作的總稱 抽象資料型別adt...

資料結構 線性表 佇列

一 佇列簡介 佇列是一種特殊的線性表,特殊之處在於它只允許在表的前端 front 進行刪除操作,而在表的後端 rear 進行插入操作,和棧一樣,佇列是一種操作受限制的線性表。進行插入操作的端稱為隊尾,進行刪除操作的端稱為隊頭。佇列中沒有元素時,稱為空佇列。include include typede...