STL之棧(stack)(stack)的初步認識
阿新 • • 發佈:2019-01-10
1。’棧的定義:
所謂棧,就是一個符合“後進先出”規則的資料結構。
棧定義在<stack> 標頭檔案中。
2.棧的宣告:
stack <int> s; 棧記憶體放的是int型。
stack <float> s; 棧記憶體放的是float型。
stack <string> s; 棧記憶體放的是string型。
..........
//棧內還可以設定指標型別或自定義型別。
3.棧的操作
stack的push()與pop()的操作
stack.push(now); //往棧頭增加元素now
stack.pop(); //從棧頭移除第一個元素
#include<iostream> #include<algorithm> #include<stack> using namespace std; int main() { stack<int> s; s.push(1); s.push(3); s.pop(); s.push(5); s.push(7); s.push(9); s.pop(); s.pop(); while(!s.empty()){ printf("%d \n",s.top()); s.pop(); } return 0; }
輸出的結果是5 ,1
stack的top()的操作
stack.top(); //從棧頭取一個元素,即返回最後一個壓入棧元素
stack的大小
stack.empty(); //判斷堆疊是否為空
stack.size(); //返回堆疊的大小,即判斷棧中還有幾個元素
stack物件的拷貝構造與賦值
stack(const stack &stk); //拷貝建構函式
stack& operator=(const stack &stk); //過載等號操作符
stkIntC = stkIntA; //賦值