c語言實現棧的簡單操作
來源:魅力女性吧 9.1K
棧
棧的概念及結構
棧:一種特殊的線性表,其只允許在固定的一端進行插入和刪除元素操作。進行數據插入和刪除操作的一端
稱為棧頂,另一端稱為棧底。棧中的數據元素遵守後進先出LIFO(Last In First Out)的原則。
壓棧:棧的插入操作叫做進棧/壓棧/入棧,入數據在棧頂。
出棧:棧的刪除操作叫做出棧。出數據也在棧頂。
順序棧的聲明:
0、順序棧的聲明
棧的實現
棧的實現一般可以使用數組或者鏈表實現,相對而言數組的結構實現更優一些。因為數組在尾上插入數據的
代價比較小。
順序棧的基本操作:
1、InitStack(&S)(初始化棧)
2、DestroyStack(&S)(銷燬棧)
3、ClearStack(&S)(清空棧)
4、StackEmpty(S)(判斷棧是否為空)
5、StackLength(S)(返回棧的長度)
6、GetTop(S,&e)(返回棧的棧頂元素)
7、Push(&S,e)(將元素e壓入棧)
8、Pop(&S,&e)(棧頂元素出棧)
9、StackTraverse(S,Status(*visit)())(遍歷棧)
順序棧的應用:
10、CharMatch(檢查符號{【()】}是否匹配)