stack 棧
簡介
stack 棧——容器適配器 container adapter
與前面學的容器vector、list的底層實現不同,stack功能的實現是要借助其他容器的功能的,所以看stack的第二個模板參數是容器。
最大特點:LIFO:Last In, First Out,后進先出
成員函數
swap是為了避免直接走庫中深拷貝的swap
使用示例
#include <iostream>
#include <stack>
using namespace std;int main() {stack <int> st;st.push(1);//入棧操作st.push(2);st.push(3);st.push(4);while (!st.empty()) {cout << st.top() << " ";//訪問棧頂元素并輸出(棧頂元素就是最近一次 push 進棧的元素)st.pop();//出棧操作,刪除棧頂元素}cout << endl;return 0;
}
queue 隊列
簡介
隊列也是容器適配器
隊列的最大特點是FIFO:First In, First Out,先進先出
即隊尾入數據,隊頭出數據
33
成員函數
代碼示例
#include <iostream>
#include <queue>
using namespace std;int main() {queue <int> q;q.push(1);//隊尾入隊q.push(2);q.push(3);q.push(4);while (!q.empty()) {cout << q.front() << " ";//隊首出隊q.pop();//刪除隊首元素}cout << endl;return 0;
}