stack容器
stack基本概念
- stack是一种先进后出的数据结构,它只有一个出口
- 栈中只有顶端元素才可以被外界使用,因此栈不支持遍历操作
stack常用接口
stack代码示例
#include <iostream>
#include <stack>
using namespace std;
void test() {
// 默认构造函数
stack<int> s1;
// 入栈
s1.push(1);
s1.push(2);
s1.push(3);
// 出栈
s1.pop();
// 拷贝构造
stack<int> s2(s1);
// 赋值操作
stack<int> s3;
s3 = s2;
cout << "判断是否为空:" << s1.empty() << endl;
cout << "返回栈的大小:" << s1.size() << endl;
// 获取栈顶
cout << "获取栈顶:" << s1.top() << endl;
}
int main() {
test();
return 0;
}
运行结果
queue 容器
queue基本概念
- queue是一种先进先出的数据结构,他有两个出口
-
队列容器允许从一端新增元素,从另一端移除元素
-
队列中只有队头和队尾才能被外界使用,因此队列不允许有遍历操作
queue常用操作
代码示例
#include <iostream>
#include <queue>
using namespace std;
void test() {
// 默认构造函数
queue<int> q1;
// 向队尾添加元素
q1.push(1);
q1.push(2);
q1.push(3);
q1.push(4);
q1.push(5);
q1.push(6);
// 拷贝构造函数
queue<int> q2(q1);
// 出队
q1.pop();
// 赋值操作
queue<int> q3 = q1;
cout << "返回队头元素:" << q1.front() << endl;
cout << "返回队尾元素:" << q1.back() << endl;
cout << "判断队列是否为空:" << q1.empty() << endl;
cout << "返回队列大小:" << q1.size() << endl;
}
int main() {
test();
return 0;
}