deque的4种构造方式
#include<iostream>
#include<string>
using namespace std;
#include<deque>
#include<algorithm>
/*deque的4种构造方式
deque<int> d;//无参构造
deque<int> d1(d.begin(), d.end());//有参构造,将区间[begin,end)中的元素构造到deque中
deque<int> d2(const deque &d);//拷贝构造函数
deque<int> d3(10, 100);//有参构造,将10个100构造到deque中
*/
void print(int& a) {
cout << a << " ";
}
void test() {
deque<int> d;
for (int i = 0; i < 6; i++) {
d.push_back(i);
}
deque<int> d1(d.begin(), d.end());
deque<int> d2(d);
deque<int> d3(10, 100);
for_each(d.begin(),d.end(),print);
cout << endl;
for (deque<int>::const_iterator it = d.begin(); it < d.end(); it++) {
cout << *it << " ";
}
}
int main() {
test();
return 0;
}
deque的大小
#include<iostream>
#include<string>
using namespace std;
#include<deque>
#include<algorithm>
/*deque的大小,deque没有容量的概念
empty();判断是否为空
size();返回deque的大小
resize(int num,T elem = 0)重置deque的大小
*/
void printDeque(const deque<int>& d) {
for (deque<int>::const_iterator it = d.begin(); it < d.end(); it++) {
cout << *it << " ";
}
cout << endl;
}
void test() {
deque<int> d;
for (int i = 0; i < 6; i++)
{
d.push_back(i);
}
printDeque(d);
cout << d.size();
d.resize(10);//默认值填充,默认值为0
printDeque(d);
cout << d.size();
d.resize(11, 1);
printDeque(d);
cout << d.size();
cout << d.empty();
}
int main() {
test();
return 0;
}
deque的插入和删除
#include<iostream>
#include<string>
using namespace std;
#include<deque>
#include<algorithm>
/*deque的插入和删除
d.push_back(10);//尾插
d.push_front(10);首插
d.pop_back();尾删
d.pop_front();首删
d.insert(d.begin()+1, 10);在d.begin()+1处插入10
d.insert(d.begin() + 1, 10,12);在d.begin()+1处插入10个12
d.insert(d.begin(), d.begin()+1, d.end()-1);在d.begin()插入【 d.begin()+1, d.end()-1)中的元素
d.erase(d.begin());删除d.begin()处的元素
d.erase(d.begin(), d.begin() + 2);删除【d.begin(), d.begin() + 2)中的元素
d.clear();清空
*/
void printDeque(const deque<int>& d) {
for (deque<int>::const_iterator it = d.begin(); it < d.end(); it++) {
cout << *it << " ";
}
cout << endl;
}
void test() {
deque<int> d;
for (int i = 0; i < 6; i++)
{
d.push_back(i);
}
d.push_back(10);
d.push_front(10);
printDeque(d);
d.pop_back();
d.pop_front();
printDeque(d);
d.insert(d.begin()+1, 10); printDeque(d);
d.insert(d.begin() + 1, 2,12); printDeque(d);
d.insert(d.begin(), d.begin()+1, d.end()-1); printDeque(d);
d.erase(d.begin()); printDeque(d);
d.erase(d.begin(), d.begin() + 1); printDeque(d);
d.clear(); printDeque(d);
}
int main() {
test();
return 0;
}
deque的查询
#include<iostream>
#include<string>
using namespace std;
#include<deque>
#include<algorithm>
/*deque的查询
operator=[]下标访问
at(int index);返回下标为index的元素
back();返回最后一个元素
front();返回第一个元素
*/
void printDeque(const deque<int>& d) {
for (deque<int>::const_iterator it = d.begin(); it < d.end(); it++) {
cout << *it << " ";
}
cout << endl;
}
void test() {
deque<int> d;
for (int i = 0; i < 6; i++)
{
d.push_back(i);
}
d[0] = 100;
cout << d.at(0);
d.back()=13;
d.front()=13;
printDeque(d);
}
int main() {
test();
return 0;
}
函数sort
#include<iostream>
#include<string>
using namespace std;
#include<deque>
#include<algorithm>
/*deque的排序
sort(d.begin(), d.end());从小到大排序
*/
void printDeque(const deque<int>& d) {
for (deque<int>::const_iterator it = d.begin(); it < d.end(); it++) {
cout << *it << " ";
}
cout << endl;
}
void test() {
deque<int> d;
for (int i = 0; i < 6; i++)
{
d.push_back(i);
}
d[0] = 100;
cout << d.at(0);
d.back()=13;
d.front()=13;
printDeque(d);
sort(d.begin(), d.end());
printDeque(d);
}
int main() {
test();
return 0;
}