求真百科歡迎當事人提供第一手真實資料,洗刷冤屈,終結網路霸凌。

Stack(計算機科學中是一種數據結構)檢視原始碼討論檢視歷史

事實揭露 揭密真相
前往: 導覽搜尋
Stack(計算機科學中是一種數據結構)

來自網絡的圖片

計算機科學中是一種數據結構

棧(stack)在計算機科學中是限定僅在表尾進行插入或刪除操作的線性表。棧是一種數據結構,它按照後進先出的原則存儲數據,先進入的數據被壓入棧底,最後的數據在棧頂,需要讀數據的時候從棧頂開始彈出數據。棧是只能在某一端插入和刪除的特殊線性表。

用桶堆積物品,先堆進來的壓在底下,隨後一件一件往上堆。取走時,只能從上面一件一件取。讀和取都在頂部進行,底部一般是不動的。棧就是一種類似桶堆積物品的數據結構,進行刪除和插入的一端稱棧頂,另一端稱棧底。插入一般稱為進棧,刪除則稱為退棧。 棧也稱為後進先出表。

基本信息

中文名;棧

外文名;Stack

性   質;計算機科學中是一種數據結構

進棧算法

①若TOP≥n時,則給出溢出信息,作出錯處理(進棧前首先檢查棧是否已滿,滿則溢出;不滿則作②); ②置TOP=TOP+1(棧指針加1,指向進棧地址); ③S(TOP)=X,結束(X為新進棧的元素); 退棧算法編輯 播報 ①若TOP≤0,則給出下溢信息,作出錯處理(退棧前先檢查是否已為空棧, 空則下溢;不空則作②); ②X=S(TOP),(退棧後的元素賦給X); ③TOP=TOP-1,結束(棧指針減1,指向棧頂)。 棧可以用來在函數調用的時候存儲斷點,做遞歸時要用到棧!

英語

1.a warehouse; a storehouse

3.a shed; a pen

棧的演示算法

主要算法代碼(c++實現): public void push(int val){ s[++tos]=val; } public void pop(){ if(!isEmpty()) tos--; } public int top(){ return s[tos]; } public boolean isEmpty(){ return (tos==-1)? true:false; }

適配器

include<stack.h>頭文件,STL中的很有用的容器適配器之一,默認基於Deque容器實現,可以在定義時覆蓋其默認容器類型,但一般並不需要。 包含以下幾個成員函數: empty() 堆棧為空則返回真 pop() 移除棧頂元素(不會返回棧頂元素的值) push() 在棧頂增加元素 size() 返回棧中元素數目 top() 返回棧頂元素 [1]

參考文獻