【栈】栈的基本操作实现模板的总结
生活随笔
收集整理的這篇文章主要介紹了
【栈】栈的基本操作实现模板的总结
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一、棧的應用
棧是一種先進后出(FILO)的數據結構
清空(clear):
/*棧的清空操作就是把棧頂top置為-1*/ void clear(){top=-1; } /*清空棧,由于沒有直接用于清空棧的元素,所以使用while和pop組合*/ while(!st.size()) st.pop();?
獲取棧內元素個數(size):
/*由于棧頂指針top始終指向棧頂元素,而下標是從0開始的,所以棧內元素要把top+1*/int size(){return top+1; }判空(empty):
/*由棧頂指針top判斷的定義可知,僅當top==-1是為空,返回true,否則返回false*/ bool empty(){if(top==-1) return true; //棧空else return false; //棧非空 }進棧(push):
/*push(x)操作將元素x置于棧頂,由于top始終指向棧頂元素,所以需要把top+1然后再把x存入top位置*/ void push(int x){st[++top]=x; }出棧(pop):
/*pop()操作將棧頂元素出棧,而事實上可以將棧頂指針-1來實現這個效果*/ void pop(){top--; }取棧頂元素(top):
/*由于棧頂指針top始終指向棧頂元素,所以st[top]就是棧頂元素*/ int top(){return st[top]; }stack的常見用法
棧,后進先出(FILO)
?
?
總結
以上是生活随笔為你收集整理的【栈】栈的基本操作实现模板的总结的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【2019暑假刷题笔记-STL绪论(二)
- 下一篇: 【队列】队列的基本操作总结