当前位置:网站首页>Chapter IX deque of STL
Chapter IX deque of STL
2022-07-19 09:32:00 【qq_ forty-three million two hundred and five thousand two hundr】
1 deque Basic concept of container


deque Container iterators also support random access
2 deque Constructors
#include <deque>
void printDeque(const deque<int>& d)
{
for (deque<int>::const_iterator it = d.begin(); it != d.end(); it++)
{
cout << *it << " ";
}
cout << endl;
}
//deque structure
void test01()
{
deque<int> d1;
//1. Parameter free constructor
for (int i = 0; i < 10; i++)
{
d1.push_back(i);
}
printDeque(d1);
//2. Interval construction
deque<int> d2(d1.begin(), d1.end());
printDeque(d2);
//3. Parameter construction
deque<int>d3(10, 100);
printDeque(d3);
//4. Assignment construction
deque<int>d4 = d3;
printDeque(d4);
}
int main()
{
test01();
return 0;
}3 deque Assignment operation
#include <deque>
void printDeque(const deque<int>& d)
{
for (deque<int>::const_iterator it = d.begin();it != d.end(); it++)
{
cout << *it << " ";
}
cout << endl;
}
// Assignment operation
void test01()
{
deque<int> d1;
for (int i = 0; i < 10; i++)
{
d1.push_back(i);
}
printDeque(d1);
deque<int>d2;
d2 = d1;
printDeque(d2);
deque<int>d3;
d3.assign(d1.begin(), d1.end());
printDeque(d3);
deque<int>d4;
d4.assign(10, 100);
printDeque(d4);
}
int main()
{
test01();
return 0;
}4 deque Size operation
#include <deque>
void printDeque(const deque<int>& d)
{
for (deque<int>::const_iterator it = d.begin(); it != d.end(); it++)
{
cout << *it << " ";
}
cout << endl;
}
// Size operation
void test01()
{
deque<int> d1;
for (int i = 0; i < 10; i++)
{
d1.push_back(i);
}
printDeque(d1);
// Judge whether the container is empty
if (d1.empty())
{
cout << "d1 It's empty !" << endl;
}
else
{
cout << "d1 Not empty !" << endl;
// Count the size
cout << "d1 The size is :" << d1.size() << endl;
}
// Re size
d1.resize(15);
printDeque(d1);
d1.resize(20, 1);
printDeque(d1);
d1.resize(5);
printDeque(d1);
}
int main()
{
test01();
return 0;
}5 deque Insert and delete
void printDeque(const deque<int>& d)
{
for (deque<int>::const_iterator it = d.begin(); it != d.end(); it++)
{
cout << *it << " ";
}
cout << endl;
}
// Two end operation
void test01()
{
deque<int> d;
// Tail insertion
d.push_back(10);
d.push_back(20);
// Head insertion
d.push_front(100);
d.push_front(200);
printDeque(d);
// Deletion at the end
d.pop_back();
printDeque(d);
// Head deletion
d.pop_front();
printDeque(d);
}
// Insert
void test02()
{
deque<int> d;
d.push_back(10);
d.push_back(20);
d.push_front(100);
d.push_front(200);
printDeque(d);
d.insert(d.begin(), 1000);
printDeque(d);
d.insert(d.begin(), 2,10000);
printDeque(d);
deque<int>d2;
d2.push_back(1);
d2.push_back(2);
d2.push_back(3);
d.insert(d.begin(), d2.begin(), d2.end());
printDeque(d);
}
// Delete
void test03()
{
deque<int> d;
d.push_back(10);
d.push_back(20);
d.push_front(100);
d.push_front(200);
printDeque(d);
d.erase(d.begin());
printDeque(d);
d.erase(d.begin(), d.end());
printDeque(d);
d.clear();
printDeque(d);
}
int main()
{
test01();
test02();
test03();
return 0;
}6 deque Data access
#include <deque>
void printDeque(const deque<int>& d)
{
for (deque<int>::const_iterator it = d.begin(); it != d.end(); it++)
{
cout << *it << " ";
}
cout << endl;
}
// Data access
void test01()
{
deque<int> d;
d.push_back(10);
d.push_back(20);
d.push_front(100);
d.push_front(200);
//1. Use [] Read
for (int i = 0; i < d.size(); i++)
{
cout << d[i] << " ";
}
cout << endl;
//2. Use at Read
for (int i = 0; i < d.size(); i++)
{
cout << d.at(i) << " ";
}
cout << endl;
cout << "front:" << d.front() << endl;
cout << "back:" << d.back() << endl;
}
int main()
{
test01();
return 0;
}7 deque Sort
#include <deque>
#include <algorithm>
void printDeque(const deque<int>& d)
{
for (deque<int>::const_iterator it = d.begin(); it != d.end(); it++)
{
cout << *it << " ";
}
cout << endl;
}
void test01()
{
deque<int> d;
d.push_back(10);
d.push_back(20);
d.push_front(100);
d.push_front(200);
printDeque(d);
sort(d.begin(), d.end());
printDeque(d);
}
int main()
{
test01();
return 0;
}边栏推荐
- KNN classifier
- Data Lake (20): Flink is compatible with iceberg, which is currently insufficient, and iceberg is compared with Hudi
- uniapp仓库管理系统源码
- Pyodide 中实现网络请求的 3 种方法
- C语言编译过程
- 面试题-给::memcpy函数设计测试用例
- Utility series - xshell installation, download and use
- 在Pycharm里面如何避免全局索引?如何取消对于某个文件夹的索引?
- 【C语言】浮点型在内存的存储
- 【排错必看】Windows系统安装mysql时常见问题及解决方法
猜你喜欢
随机推荐
OLED displays how to understand the character sizes of 12*6, 16*8, 24*12, etc
【摸鱼神器】UI库秒变低代码工具——表单篇(二)子控件
[fishing artifact] UI library second low code tool - form part (II) sub control
Flink small knowledge -- configuration of task scheduling slots slotsharinggroup
C51 常见数据类型详解
Code Capriccio: question skimming record (under update)
【Flink】Flink 设置检查点失败一次就报错 setTolerableCheckpointFailureNumber 不起作用
AcWing 257. 关押罪犯 题解(二分图)
【愚公系列】2022年7月 Go教学课程 012-强制类型转换
Etcd database source code analysis - initialize etcdserver structure
How to synchronize historical data when MySQL is upgraded to primary and standby?
Google play app store may delete the overview of APP permissions and use a new combination of data security information
第一部分—C语言基础篇_2. 数据类型
Go exceed API source code reading (II) -- openFile ()
AnyControl Demo演示
Towhee 每日模型周报
OpenCV模板
使用 Golang 正确处理五大互联网注册机构的 IP 数据
565. Array nesting
【C语言】数组知识点总结









