一、stack容器:
1.stack基本概念:
stack栈容器
stack是一种先进后出的数据结构,它只有一个出口。
栈中只有顶端的元素才能被使用,因此不存在遍历操作。
栈中进数据:入栈 --- push()
栈中出数据:出栈 --- pop()
2.stack常用接口:
(1)构造函数:
stack<T> stk; //默认构造
stack(const stack& stk); //拷贝构造
(2)赋值操作:
stack& operator=(const stack& stk); //重载等号运算符
(3)数据存取:
push(elem); //向栈顶加元素
pop(); //从栈顶移出元素
top(); //返回栈顶元素
(4)大小操作:
empty(); //判断栈是否为空
size(); //返回栈的大小
3.stack测试案例:
int main()
{stack<int>s;s.push(10);s.push(20);s.push(30);s.push(40);while (!s.empty()){cout << s.top() << " ";cout << "栈的大小:" << s.size() << endl;s.pop();}return 0;
}
二、queue容器:
1.queue基本概念:
queue队列容器
queue是一种先进先出的数据结构,有两个出口。
队列容器只允许从队尾加数据,从队头移出数据。
队列中只有队头和队尾可以被外界访问。
2.queue常用接口:
(1)构造函数:
queue<T>que; //默认构造
queue(const queue &que); //拷贝构造
(2)赋值操作:
queue& operator(const queue& que); //等号重载
(3)数据存取:
push(elem); //队尾加数据
pop(); //队头移出数据
back(); //返回队尾数据
front(); //返回队头数据
(4)大小操作:
empty(); //判断容器是否为空
size(); //返回容器的大小
3.queue测试案例:
int main()
{queue<int>q;q.push(10);q.push(20);q.push(30);q.push(40);while (!q.empty()){cout << "队列大小" << q.size() << endl;cout << "队头元素:" << q.front() << " " << "队尾元素:" << q.back() << endl;q.pop();}return 0;
}