陣列 鍊錶 棧 佇列

2021-10-16 09:10:35 字數 500 閱讀 5160

陣列用一塊連續的記憶體空間,來儲存相同型別的一組資料,最大的特點就是支援隨機訪問,但插入、刪除操作也因此變得比較低效,平均情況時間複雜度為 o(n)。在平時的業務開發中,我們可以直接使用程式語言提供的容器類,但是,如果是特別底層的開發,直接使用陣列可能會更合適。

鍊錶跟陣列一樣,也是非常基礎、非常常用的資料結構。不過鍊錶要比陣列稍微複雜,從普通的單鏈表衍生出來好幾種鍊錶結構,比如雙向鍊錶、迴圈鍊錶、雙向迴圈鍊錶。和陣列相比,鍊錶更適合插入、刪除操作頻繁的場景,查詢的時間複雜度較高。

棧是一種操作受限的資料結構,只支援入棧和出棧操作。後進先出是它最大的特點。棧既可以通過陣列實現,也可以通過鍊錶來實現。不管基於陣列還是鍊錶,入棧、出棧的時間複雜度都為 o(1)

佇列最大的特點就是先進先出,主要的兩個操作是入隊和出隊。跟棧一樣,它既可以用陣列來實現,也可以用鍊錶來實現。用陣列實現的叫順序佇列,用鍊錶實現的叫鏈式佇列。特別是長得像乙個環的迴圈佇列。在陣列實現佇列的時候,會有資料搬移操作,要想解決資料搬移的問題,我們就需要像環一樣的迴圈佇列。

(基礎) 陣列模擬鍊錶 棧 佇列

適用於鄰接表 儲存圖和樹 head 表示頭結點的下標 e i 表示節點i的值 ne i 表示節點i的next指標是多少 idx 儲存當你已經用到的那個點 int head,e n ne n idx 初始化 void init 將x插到頭結點 void add to head int x 將x插到下標...

棧 佇列 鍊錶

includestruct queue int main while q.head includeint main maxvalue temp maxvalue temp maxvalue temp 0 for int j 1 j len j maxvalue temp maxvalue temp ...

陣列,鍊錶,佇列

陣列 鍊錶 佇列 陣列陣列的引入 由於重繪的時候要在paint方法中傳入畫的時候的座標,這樣我們就要用乙個東西把我們畫的座標給存下來,這樣我們就想到了陣列,每個位置存放乙個物件,這個物件就是我們畫的東西,包括座標等資料。陣列的定義有兩種方法,型別名 陣列名 new 型別名 陣列長度 型別名 陣列名 ...