stack
基本概念
stack是一种先进后出的数据结构,它只有一个出口
栈中只有顶端的元素可以被外界使用,因此栈不允许由遍历行为
可以判断是否为空empty(),和统计个数size();
常用接口
1、stack<T> stk;
采用模块类实现,stack对象的默认构造形式
2、stack(const stack &stk);
拷贝构造函数
3、stack& operator=(const stack &stk);
重载等号操作符
4、push(elem);
向栈顶添加元素
5、pop();
从栈顶移除第一个元素
6、top();
返回栈顶元素
7、empty();
判断堆栈是否为空
8、size();
返回栈的大小
void test1() {
stack<int> s;
s.push(123);
s.push(12);
s.push(34);
s.push(111);
cout << "栈的大小:" << s.size()<<endl;
if (!s.empty()) {
cout << "栈顶元素:" << s.top() << endl;
s.pop();
}
}
quque
基本概念
先进先出的数据结构,有两个出口
队列容器允许从一个口入队push新增元素,从另一个口出队pop移除元素
只有队头和队尾能被外界访问,不允许有遍历行为
常用接口
1、queue<T> que;
采用模块类实现,queue对象的默认构造形式
2、queue(const queue &que);
拷贝构造函数
3、queue& operator=(const queue &que);
重载等号操作符
4、push(elem);
向队尾添加元素
5、pop();
从队头移除第一个元素
6、back();
返回最后一个元素
7、empty();
判断堆栈是否为空
8、size();
返回栈的大小
9、front();
返回第一个元素
void test1() {
queue<int> q;
q.push(123);
q.push(50);
q.push(34);
q.push(111);
cout << "队的大小:" << q.size()<<endl;
if (!q.empty()) {
cout << "最后一个元素:" << q.back() << endl;
cout << "第一个元素:" << q.front() << endl;
q.pop();
}
}