跳至內容
主選單
主選單
移至側邊欄
隱藏
導覽
首頁
近期變更
隨機頁面
MediaWiki說明
Taiwan Tongues 台語維基
搜尋
搜尋
外觀
建立帳號
登入
個人工具
建立帳號
登入
檢視 疊 的原始碼
頁面
討論
臺灣正體
閱讀
檢視原始碼
檢視歷史
工具
工具
移至側邊欄
隱藏
操作
閱讀
檢視原始碼
檢視歷史
一般
連結至此的頁面
相關變更
特殊頁面
頁面資訊
外觀
移至側邊欄
隱藏
←
疊
由於以下原因,您無權編輯此頁面:
您請求的操作只有這些群組的使用者能使用:
使用者
、taigi-reviewer、apibot
您可以檢視並複製此頁面的原始碼。
'''疊'''(stack)閣叫做'''棧'''抑是'''堆棧''',是電腦科學中的一種抽象資料型別,只允准佇有序的線性資料集合的一端(講號做堆疊頂頭,top)加入資料(push)佮徙掉資料(pop)的運算。因為按照以後會先出(LIFO , Last In First Out)彼號原理的運作,疊捷用一維陣列抑是相連結鬥起來實現。定佮另外一種長輩的線性的資料集合佇咧列相提並且論。 ==操作== 疊使用兩種基本操作:推入(硩棧,push)佮彈出(彈棧,pop): * 推入:共資料囥入去疊頂懸,疊頂懸徙到新囥入來的資料。 * 彈出:會疊頂懸的資料來徙掉,疊頂懸徙到徙掉的後一筆資料。 ==特點== 疊起來的基本特點: 一 . 先入後出,後入先出。 二 . 除頭尾節點以外,逐个元素有一个前驅,一个後繼。 ==抽象定義== 以下是疊的 VDM(_ Vienna Development Method _): 函式來簽章: ` ` ` init :-> Stack push : N x Stack-> Stack top : Stack-> ( N $ \ cup $ ERROR ) pop : Stack-> Stack isempty : Stack-> Boolean ` ` ` 此處的 N 代表某一个元素(如自然數), 而且 $ \ cup $ 表示集合求並。 語意: ` ` ` top ( init ( ) )=ERROR top ( push ( i , s ) )=i pop ( init ( ) )=init ( ) pop ( push ( i , s ) )=s isempty ( init ( ) )=true isempty ( push ( i , s ) )=false ` ` ` ==軟體疊== 疊會當用陣列佮規堆囥起來兩種方式實現,一般為一个疊預先分配一个大細固定而且較合適合的空間並非難事,所以較流行的做法就是講 ` Stack ` 結構下含一个陣列。若空間實在緊張,嘛會當用連結串列實現,而且你若去踅頭。 遮的常式是以 C 語言實現的。 ===陣列疊=== ====儲存結構==== ====基本操作==== ===疊起來=== ====儲存結構==== ====基本操作==== ====連結串列基本操作==== 堆棧有時仔嘛定定用來指代堆棧段。 ==硬體疊== 架構層次頂的疊通常被用申請佮存取記憶體。 ===硬體支援=== 大多數啦 CPU 攏有用疊指標的暫存器。 ==疊疊的應用== * 回溯 * 遞迴 * 深度優先搜揣 ==參考文獻== ==參見== * 連結串列 * 在列 [[分類: 待校正]]
返回到「
疊
」。