A. 棧和隊列的作用是什麼它們主要可以應用在哪些方面
棧和隊列都屬於一位鏈表,棧是後進先出,進和出都是在同一端進行,就好像一筒羽毛球,只有把上面拿出來,下面的才能拿出來;隊列是先進先出的,進和出分別在不同的端進行,比如排隊的人,排在前面的人先到櫃台辦理業務,後面來的人後得到服務。
棧作為一種數據結構,是一種只能在一端進行插入和刪除操作的特殊線性表。它按照先進後出的原則存儲數據,先進入的數據被壓入棧底。
最後的數據在棧頂,需要讀數據的時候從棧頂開始彈出數據(最後一個數據被第一個讀出來)。棧具有記憶作用,對棧的插入與刪除操作中,不需要改變棧底指針。
(1)程序棧和隊列什麼意思擴展閱讀:
在計算機系統中,棧則是一個具有以上屬性的動態內存區域。程序可以將數據壓入棧中,也可以將數據從棧頂彈出。在i386機器中,棧頂由稱為esp的寄存器進行定位。壓棧的操作使得棧頂的地址減小,彈出的操作使得棧頂的地址增大。
棧在程序的運行中有著舉足輕重的作用。最重要的是棧保存了一個函數調用時所需要的維護信息,這常常稱之為堆棧幀或者活動記錄。