棧的抽象數據類型定義


ADT Stack {

        數據對象:
                       D = {ai | ai ∈ ElemSet,i = 1,2,3,....,n, n ≥ 0}  // ElemSet 表示元素的集合

        數據關系:

                        R1={<ai-1, ai> | ai-1 , ai∈D,i=2,...,n}  // ai-1為前驅,ai為后繼

                        約定 an 端為棧頂,a1 端為棧底

          基本操作:初始化、進棧、出棧、取棧頂元素等

}  ADT Stack

 

InitStack(&S)初始化操作

操作結果:構造一個空棧 S

 

DestroyStack(&S)銷毀棧操作

初始條件:棧S已存在

操作結果:棧S被銷毀

 

StackEmpty(S)判定棧是否為空棧

初始條件:棧S已存在

操作結果:若棧S為空棧,則返回TRUE,

                  若棧S為非空,則返回FALSE。

 

StackLength(S)求棧的長度

初始條件:棧S已存在

操作結果:返回棧S的元素個數,即棧的長度

 

GetTop(S,&e)取棧頂元素

初始條件:棧S已存在且非空

操作結果:用e返回S的棧頂元素

 

ClearStack(&S)棧指控操作

初始條件:棧S已存在

操作結果:將S清為空棧

 

Push(&S,e)入棧操作

初始條件:棧S已存在

操作結果:插入元素e為新的棧頂元素

 

Pop(&S,&e)出棧操作

初始條件:棧S存在且非空

操作結果:刪除棧SD棧頂元素an,並用e返回其值

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM