目录
1.deque容器
1.1构造和赋值(同vector类似)
1.2大小操作
1.3插入和删除
1.5数据存取
1.6排序(升序)
2.stack容器
3.queue容器
1.deque容器
1.1构造和赋值(同vector类似)
deque内部工作原理:
deque内部有个中控器,维护每段缓冲区的内容,缓冲区中存放真实数据,中控器维护缓冲区的地址
【构造函数】
【赋值函数】
注意:
- push_back(数据),尾插数据;
- deque是双端数组,可以对头尾进行增删;
- deque<int>::iterator迭代器也支持随机访问;
- deque相对于vector,优势在于头插的速度更快。
1.2大小操作
【容器大小函数】
注意:deque没有容量的概念
1.3插入和删除
【插入函数】
【删除函数】
1.5数据存取
1.6排序(升序)
//举例
deque<int> d;
sort(d.begin(), d.end());//对begin和end之间的元素排序
2.stack容器
stack(栈)是先进后出,只有一个栈顶的出口,因此栈不允许遍历操作
【构造函数】
【赋值函数】
【数据存取】
【大小操作】
//举例
stack<int> s; //默认构造{10,20,30}
s.push(10);
s.push(20); //栈顶入栈
s.push(30);
stack<int> s1 = s; //拷贝构造
s.pop(); //从栈顶移除30,s={10,20}
int top_stack = s.top(); //top_stack=20
3.queue容器
特点:先进先出
【构造函数】
【赋值函数】
【数据存取】
【大小操作】
//举例
queue<int> q; //默认构造函数
q.push(10); //q={10,20,30}
q.push(20); //队尾插入
q.push(30);
queue<int> q1 = q; // 拷贝构造
q.pop(); //q={20,30}
int last = q.back(); //last=30
int first = q.front(); //last=20