棧和佇列資料儲存型別 棧(簡單了解)

2021-08-17 08:49:41 字數 1392 閱讀 1021

引言

陣列是前面介紹排序和二分查詢用的資料儲存結構,和後面要遇到學習的其他結構(鍊錶、樹等等)一樣,都適合用於資料庫應用中作資料記錄。這些資料結構便於資料的訪問:它們易於進行插入、刪除和查詢特點資料項的操作。

本篇講的資料儲存型別是棧、佇列甚至優先順序佇列中---棧。這三種資料儲存型別它們主要作為構思演算法的輔助工具,而不是完全的資料儲存工具。這些資料機構的生命週期比那些資料庫型別的結構要短的多。在程式操作執行期間它們才被建立,通常用它們去執行某項特殊的任務;當完成任務之後,它們就被銷毀。

棧棧主要機制可以用陣列來實現,本篇例項就是這樣處理的,但是也可以用鍊錶來實現。棧只允許訪問乙個資料項:即最後插入的資料項。移除這個資料項後才能訪問倒數第二個插入的資料項,依次類推。這種機制在不少程式設計環境中都很有用。

棧先進後出(後進先出),如下圖:

以下就是棧簡單實現:

/**

* 簡單棧操作

* * @author whmadmin

* */

public class stackx

/*** 新增

* @param i 新增元素

*/public void push(long i)

/*** 彈出元素

* @return 元素值

*/public long pop()

/*** 獲取元素

* @return

*/public long peek()

/*** 是否有元素

* @return

*/public boolean isempty()

/*** 空間是否滿了

* @return

*/public boolean isfull()

public static void main(string args)

system.out.println();

system.out.println("---------------------------------------");

system.out.println("出棧元素順序:");

while(!stackx.isempty())

}}

執行結果:

入棧元素順序:

3 -1 9 2 2 1 2 -1 2 3

---------------------------------------

出棧元素順序:

3 2 -1 2 1 2 2 9 -1 3

因為是隨機數,所以每次元素大小不一樣。以上就是簡單的棧實現,方便初學者理解。

棧和佇列 簡單實現

棧 是一種特殊的線性表,只允許在固定的一端插入和刪除,一端稱為棧底,一端稱為棧頂。棧遵循先進後出的原則。棧的相關操作 壓棧,向棧頂插入乙個元素 出棧,在棧頂處刪除乙個元素 取棧頂元素,獲取到在最後乙個在棧頂元素的結果。棧的實現 1.基於順序表 使用尾插,尾刪來分別表示入棧和出棧。根據下標獲取元素表示...

線性儲存模擬棧和佇列

一般所謂的線性儲存基本是就是陣列和動態分配的儲存空間,在模擬棧和佇列的時候,使用乙個迭代器作為棧頂或者隊首隊尾,這個迭代器的賦值比較講究,在初始化的時候賦值為 1最為方便,既便於判空又便於儲存。在插入的時候使用陣列stack 和迭代器i,插入元素element,stack i element 這樣,...

棧和佇列 最小棧

題目要求 設計乙個支援 push,pop,top 操作,並能在常數時間內檢索到最小元素的棧。push x 將元素 x 推入棧中。pop 刪除棧頂的元素。top 獲取棧頂元素。getmin 檢索棧中的最小元素。示例 minstack minstack new minstack minstack.pus...