STL第五部分(deque)
✨1、deque【双向队列】
① 头文件
#inlcude <deque>
② 初始化
// deque <类型> 变量名
deque<int> d1;
③ 常用函数
1、push_front()
d1.push_front(10);
2、push_back()
d1.push_back(0);
3、front()
std::cout << "d1.front:" << d1.front() << endl; // d1.front:10
4、back()
// 返回最后一个元素
std::cout << "d1.back:" << d1.back() << endl; // d1.back:0
5、empty()
std::cout << "d1.empty:" << d1.empty() << endl; // d1.back:0
6、size()
std::cout << "d1.size:" << d1.size() << endl; // d1.back:2
7、pop_back()
d1.push_front(10);
d1.push_back(0);
d1.push_front(70);
d1.push_front(15);
d1.push_front(64);
while (!d1.empty()){
std::cout << d1.back() << " ";
d1.pop_back();
} // 输出0 10 70 15 64
std::cout<< endl;
8、pop_front()
d2.push_front(10);
d2.push_back(0);
d2.push_front(70);
d2.push_front(15);
d2.push_front(64);
while (!d2.empty()){
std::cout << d2.front() << " ";
d2.pop_front();
} // 输出64 15 70 10 0
std::cout<< endl;
9、clear()
d3.push_front(10);
d3.clear();
std::cout << "d3.size:" << d3.size() << endl; // 输出0
10、begin()
11、end()
d4.push_front(70);
d4.push_front(15);
d4.push_front(64);
deque <int> d5(d4.begin(), d4.end());
while (!d5.empty()){
std::cout << d5.front() << " ";
d5.pop_front();
} // 输出64 15 70
std::cout<< endl;
①至③运行截图
附全文代码
#include <iostream>
#include <deque>
using namespace std;
int main(){
// 初始化双向队列
deque <int> d1, d2, d3, d4;
// 追加元素
d1.push_front(10);
d1.push_back(0);
std::cout << "d1.front:" << d1.front() << endl;
std::cout << "d1.back:" << d1.back() << endl;
std::cout << "d1.empty:" << d1.empty() << endl;
std::cout << "d1.size:" << d1.size() << endl;
d1.push_front(70);
d1.push_front(15);
d1.push_front(64);
// pop_back()的使用
while (!d1.empty()){
std::cout << d1.back() << " ";
d1.pop_back();
} // 输出0 10 70 15 64
std::cout<< endl;
std::cout << "d1.size:" << d1.size() << endl;
d2.push_front(10);
d2.push_back(0);
d2.push_front(70);
d2.push_front(15);
d2.push_front(64);
// pop_front()的使用
while (!d2.empty()){
std::cout << d2.front() << " ";
d2.pop_front();
} // 输出64 15 70 10 0
std::cout<< endl;
std::cout << "d2.size:" << d2.size() << endl;
// clear()的使用
d3.push_front(10);
d3.clear();
std::cout << "d3.size:" << d3.size() << endl;
// begin()与end()的使用
d4.push_front(70);
d4.push_front(15);
d4.push_front(64);
deque <int> d5(d4.begin(), d4.end());
while (!d5.empty()){
std::cout << d5.front() << " ";
d5.pop_front();
} // 输出64 15 70
return 0;
}