c++語言之stack的基本使用
阿新 • • 發佈:2019-01-08
解釋:
如果用一種東西去形容他,那就是一頭封閉的,一頭開放的單行道。裡面想要出來,就必須你後面進去的人先出來。裡面容納的人數,就是空間大小數目(maxsize)。
方法:stack<typer> mystack;(定義)
void push(typer); 該方法就是新增一個typer型別的入棧。
void pop(); 該方法就是在棧中出一個typer型別的元素。但不返回,該元素,只是出棧而已。
typer top(); 該方法就是返回棧的頭頂元素。
boolean empty(); 該方法就是返回棧為不為空,空就是true,不空就是false;
void size(); 該方法就是返回一個數字,表示裡面的棧的元素的個數。
詳細一點的解釋:
通過一個程式碼解釋一下所以的方法吧!
題目:
輸入各個命令,它們對應的格式如下:
壓入堆疊:push a,a代表壓入堆疊的元素,這裡push和元素之間用空格分隔。
清空堆疊:clear
獲取棧頂元素:top
彈出棧頂元素:pop
當輸入的命令為exit時,程式結束。
當輸入的命令為pop時,請輸出彈出的元素值。
當輸入的命令是top時,請輸出當前棧頂元素值。
注意,如果沒有滿足的元素,請輸出None。
程式碼:
#include <iostream> #include <stack> using namespace std; int main() { stack<int> mystack; string str; while (cin>>str) { if (str == "exit") break; else if (str == "pop") { if (mystack.size() == 0) cout<<"None"<<endl; else { int k = mystack.top(); mystack.pop(); cout<<k<<endl; } } else if (str == "top") { if (mystack.size() == 0) cout<<"None"<<endl; else cout<<mystack.top()<<endl; } else if (str == "clear") { while(!mystack.empty()) mystack.pop(); } else if (str == "push") { int k; cin>>k; mystack.push(k); } } return 0; }
該程式碼詳細的介紹了方法的使用。每一個的方法使用,比較綜合。可以借鑑一下。
以上就是stack在c++中的基本使用規則。