C++STL模板库序列容器之deque

时间:2023-03-08 16:24:04
C++STL模板库序列容器之deque

一丶队列容器deque简介

deque底层跟vector一样,都是数组维护.不同的是可以操作头部.

二丶使用代码演示

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <algorithm>
#include <iostream>
#include <string>
#include <vector>
#include <list>
#include <deque>
using namespace std; int main(char *argc, char *argv[]) { deque<int> de; //deque是队列.底层也是数组维护.可以操作头部
de.push_back(6);
de.push_back(5);
de.push_back(3); //push_back() 尾部添加数据
de.push_front(4);//push_front()头部添加数据 deque<int>::iterator it = de.begin();
//排序两种方式
sort(de.begin(), de.end(), less<int>()); //从小到大排序
sort(de.begin(), de.end(), greater<int>());//从大到小排序
while (it != de.end())
{
cout << *it << " ";
it++;
} //查找
it = find(de.begin(), de.end(), 6);
//插入
de.insert(it, 10);
//删除
de.erase(it);//内部会自增.所以it--.
//弹出元素
de.pop_back();
de.pop_front();
de.clear();
de.empty();//判断是否为空
de.emplace_back();
de.emplace_front(); //判断头尾.
int a = de.front();
a = de.back(); //获取头/尾数据
cout << endl;
cout << "--------------------------" << endl;
getchar();
system("pause"); }