當前位置:首頁 » 服務存儲 » 棧是指邏輯還是存儲
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

棧是指邏輯還是存儲

發布時間: 2022-07-06 15:21:44

❶ 棧和隊列不是邏輯結構嗎,它們的順序和鏈式才是存儲結構,一題中說棧也是存儲結構,請解釋一下

棧作為一種數據結構,是一種只能在一端進行插入和刪除操作的特殊線性表。它按照先進後出的原則存儲數據,先進入的數據被壓入棧底,最後的數據在棧頂,需要讀數據的時候從棧頂開始彈出數據。棧具有記憶作用,對棧的插入與刪除操作中,不需要改變棧底指針。

(1)棧是指邏輯還是存儲擴展閱讀:

棧的順序存儲結構利用內存中的一片起始位置確定的連續存儲區域來存放棧中的所有元素,為了指示棧頂的准確位置,還需要引入一個棧頂指示變數top。設數組data[MAXSIZE]為棧的存儲空間,其中MAX-SIZE是一個預先設定的常數,為允許進棧結點的最大可能數目。

初始時棧空,top等於0。當top不等於0時,data[0]為棧底元素,即為當前停留在棧中時間最長的元素。而data[top-1]為最後入棧的元素。當top==MAXSIZE時,表示棧滿,如果此時再有結點進棧,將發生「上溢」的錯誤,而當top==0時再執行出棧操作,將發生「下溢」的錯誤。

❷ 棧的存儲結構

棧同順序表和鏈表一樣,棧也是用來存儲邏輯關系為 "一對一" 數據的線性存儲結構。

棧的具體實現
棧是一種 "特殊" 的線性存儲結構,因此棧的具體實現有以下兩種方式:
順序棧:採用順序存儲結構可以模擬棧存儲數據的特點,從而實現棧存儲結構;
鏈棧:採用鏈式存儲結構實現棧結構;

棧存儲結構與之前所學的線性存儲結構有所差異,這緣於棧對數據 "存" 和 "取" 的過程有特殊的要求:
棧只能從表的一端存取數據,另一端是封閉的;
在棧中,無論是存數據還是取數據,都必須遵循"先進後出"的原則,即最先進棧的元素最後出棧。

通常,棧的開口端被稱為棧頂;相應地,封口端被稱為棧底。因此,棧頂元素指的就是距離棧頂最近的元素。

❸ 數據結構中棧不是存儲結構嗎

數據結構中的棧是一種存儲結構啊!
不過棧這種存儲結構比較特殊:
1)它的操作(插入和刪除)只能限定在一端操作(通常稱為棧頂)
2)棧的存儲通常是先進後出,後進的先出!
其實說白了!棧其實也是線性表!不過它的具有上面兩點的特殊線性表!
以上意見僅供參考

❹ 數據結構分為邏輯結構和儲存結構,循環隊列和棧分別屬於什麼結構

循環隊列在教材指明用的順序存儲結構,所以屬存儲結構
棧屬邏輯結構

❺ 數據結構分為邏輯結構和儲存結構,循環隊列和棧分別屬於什麼結構

循環隊列和棧都是線性結構,是邏輯結構的一種。而存儲結構是數據在計算機中的表示,循環隊列在計算機內是順序存儲結構,棧在計算機內可是以順序也可以是鏈式。所以循環隊列和棧都是線性邏輯結構,不能說循環隊列和棧是存儲結構,只能說它們在計算機內的存儲結構

c語言中的棧是指什麼啊

是一種數據結構.這種結構的存取原則相當於取放盤子的過程,放的時候將盤子一個一個堆起來放,取的時候先取原先最後放入的一個,然後依次類推.即後進先出的原則.
棧有順序(數組等)和鏈式(鏈表)兩種存儲結構,它的邏輯結構實質是線性表中的一種,只是這種線性表只允許在其中一端進行存取操作.更為詳細的解釋請參考數據結構一書!

❼ 下列與數據存儲結構無關的是A棧B二叉樹,給解釋。棧是存儲結構還是邏輯結構

別被坑了,
所謂"存儲結構無關"是指既可以用數組實現,又可以用鏈表實現.從這個意義上講,
B二叉樹 是與存儲結構有關,因為它都要用到"鏈式存儲";
而 A 棧 與存儲結構無關,因為既可以用數組實現循環隊列和棧,又可以用鏈表實現棧.
所以答案應該是 A

❽ 棧和鏈表是兩種不同的數據結構嗎

題有問題,棧和鏈表是同一種邏輯結構(都是線性),但不是同一種存儲結構。