栈的概念
棧的概念
棧是用來存儲邏輯關系為 "一對一" 數據的線性存儲結構,如圖 1 所示。
棧只能從表的一端存取數據,另一端是封閉的,如圖 1 所示;
在棧中,無論是存數據還是取數據,都必須遵循"先進后出"的原則,即最先進棧的元素最后出棧。
拿圖 1 的棧來說,從圖中數據的存儲狀態可判斷出,元素 1 是最先進的棧,當需要從棧中取出元素 1 時,根據"先進后出"的原則,需提前將元素 3 和元素 2 從棧中取出,然后才能成功取出元素 1。
棧是一種只能從表的一端存取數據且遵循 "先進后出" 原則的線性存儲結構。
棧的開口端被稱為棧頂,封口端被稱為棧底。因此,棧頂元素指的就是距離棧頂最近的元素,拿圖 2 來說,棧頂元素為元素 4;同理,棧底元素指的是位于棧最底部的元素,圖 2 中的棧底元素為元素 1。
棧的特點
進棧和出棧
棧的兩種操作:
向棧中添加元素,叫"進棧"(入棧或壓棧);
從棧中提取出指定元素,叫"出棧"(或彈棧);
棧的具體實現
棧是一種 "特殊" 的線性存儲結構,具體實現有以下兩種方式:
1.順序棧:采用順序存儲結構可以模擬棧存儲數據的特點,從而實現棧存儲結構;
2.鏈棧:采用鏈式存儲結構實現棧結構;
轉載于:https://www.cnblogs.com/LJA001162/p/11180152.html
總結
- 上一篇: 全面解读php-面向对象
- 下一篇: mac brew 安装php扩展报错:p