1. 基本概念
棧中的元素遵守“先進后出”的原則(LIFO,Last In First Out)
只能再棧頂進行插入和刪除操作
壓棧(或推入、進棧)即push,將數據放入棧頂並將棧頂指針加一
出棧(或彈出)即pop,將數據從棧頂刪除並將棧頂指針減一
棧的基本操作有:pop,push,判斷空,獲取棧頂元素,求棧大小

2. 基本函數
2.1 bool empty() const;
判斷棧是否為空;
1 stack<int> st; 2 st.empty(); // 棧為空時返回1,非空返回0
2.2 size_type size() const;
返回棧中元素數量
1 stack<int> st; 2 st.size();
2.3 value_type& top();
返回棧頂元素
1 stack<int> st; 2 st.top();
2.4 void push( const value_tyoe& val );
在棧頂插入一個元素
1 stack<int> st; 2 st.push(value);
2.5 void emplace( args&& args );
在棧頂增加一個元素
1 stack<int> st; 2 st.emplace(value);
2.6 void pop();
棧頂元素出棧,即刪除棧頂元素
1 stack<int> st; 2 st.pop()
2.7 void swap( stack& x );
交換兩個棧中的內容
1 stack<int> st1; 2 stack<int> st2; 3 st1.swap( st2 );
2.8 與vector一樣,重載了運算符:== != < <= > >=
參考:http://www.cplusplus.com/reference/stack/stack/
