标签:pos include back pac erase assign for push sort
#include <iostream> #include <deque> #include <algorithm> using namespace std; //deque构造函数 /* deque<T> deqT; //默认构造形式 deque(beg, end); //构造函数将[beg, end)区间中的元素拷贝给本身。 deque(n, elem); //构造函数将n个elem拷贝给本身。 deque(const deque &deq); //拷贝构造函数 */ void printDeque(const deque<int>&v) //限制这个容器只能读不能改变 迭代器也要改变 { for(deque<int>::const_iterator it=v.begin();it!=v.end();it++) { cout<<*it<<" "; //容器中的数据不可改变 } cout<<endl; } void test01() { deque<int>d1; for(int i=0;i<10;i++) { d1.push_back(i); } printDeque(d1); deque<int>d2(d1.begin(),d1.end()); printDeque(d2); deque<int>d3(10,100); printDeque(d3); deque<int>d4(d3); printDeque(d4); } //deque容器的赋值操作 /* deque& operator=(const deque &deq); ` //重载等号操作符 assign(beg, end); //将[beg, end)区间中的数据拷贝赋值给本身。 assign(n, elem); //将n个elem拷贝赋值给本身。 */ void test02() { deque<int> v1; for(int i=0;i<10;i++) { v1.push_back(i); } printDeque(v1); deque<int> v2; v2 = v1; printDeque(v2); //assign赋值 deque<int>d3; d3.assign(v1.begin(),v1.end()); printDeque(d3); deque<int>d4; d4.assign(10,100); printDeque(d4); } //对deque容器的大小进行操作 /* deque.empty();` //判断容器是否为空 deque.size();` //返回容器中元素的个数 deque.resize(num);` //重新指定容器的长度为num,若容器变长,则以默认值填充新位置。 //如果容器变短,则末尾超出容器长度的元素被删除。 deque.resize(num, elem);` //重新指定容器的长度为num,若容器变长,则以elem值填充新位置。 //如果容器变短,则末尾超出容器长度的元素被删除。 */ void test03() { deque<int> d1; for(int i=0;i<10;i++) { d1.push_back(i); } printDeque(d1); //判断容器是否为空 if(d1.empty()) { cout<<"d1为空"<<endl; } else { cout<<"d1不为空"<<endl; //统计大小 cout <<"d1的大小为 "<<d1.size()<<endl; } //重新指定大小 d1.resize(15,1); printDeque(d1); d1.resize(5); printDeque(d1); } //deque插入和删除 //两端插入操作 /* push_back(elem); //在容器尾部添加一个数据 push_front(elem); //在容器头部插入一个数据 pop_back(); //删除容器最后一个数据 pop_front(); //删除容器第一个数据 */ void test04() { deque<int>d1; //尾插 d1.push_back(10); d1.push_back(20); d1.push_back(30); //头插 d1.push_front(100); d1.push_front(200); d1.push_front(300); printDeque(d1); //尾删 d1.pop_back(); //头删 d1.pop_front(); printDeque(d1); } //指定位置操作 /* insert(pos,elem); //在pos位置插入一个elem元素的拷贝,返回新数据的位置。 insert(pos,n,elem); //在pos位置插入n个elem数据,无返回值。 insert(pos,beg,end); //在pos位置插入[beg,end)区间的数据,无返回值。 clear(); //清空容器的所有数据 erase(beg,end); //删除[beg,end)区间的数据,返回下一个数据的位置。 erase(pos); //删除pos位置的数据,返回下一个数据的位置。 */ void test05(void) { deque<int> d1; d1.push_back(10); d1.push_back(20); d1.push_back(30); d1.push_front(100); d1.push_front(200); printDeque(d1); d1.insert(d1.begin(),1000); printDeque(d1); d1.insert(d1.begin(),2,10000); printDeque(d1); deque<int> d2; d2.push_back(1); d2.push_back(2); d2.push_back(3); d1.insert(d1.begin(),d2.begin(),d2.end()); printDeque(d1); } //删除 void test06() { deque<int> d1; d1.push_back(10); d1.push_back(20); d1.push_back(30); d1.push_front(100); d1.push_front(200); printDeque(d1); d1.erase(d1.begin()); printDeque(d1); d1.erase(d1.begin(),d1.end()); d1.clear(); printDeque(d1); } //deque数据存取 /* at(int idx); //返回索引idx所指的数据 operator[]; //返回索引idx所指的数据 front(); //返回容器中第一个数据元素 back(); //返回容器中最后一个数据元素 */ void test07() { deque<int>d; d.push_back(10); d.push_back(20); d.push_back(30); d.push_front(100); d.push_front(200); for(int i=0;i<d.size();i++) { cout <<d[i]<<" "; } cout<<endl; for(int i=0;i<d.size();i++) { cout<<d.at(i)<<" "; } cout<<endl; cout<<"front: "<<d.front()<<endl; cout<<"back: "<<d.back()<<endl; } //deque排序 //sort(iterator beg, iterator end) //对beg和end区间内元素进行排序 void test10() { deque<int> d; d.push_back(10); d.push_back(20); d.push_back(30); d.push_front(100); d.push_front(200); printDeque(d); sort(d.begin(),d.end()); printDeque(d); } int main(void) { //test01(); //test02(); //test03(); //test04(); //test05(); //test06(); //test07(); test10(); return 0; }
标签:pos include back pac erase assign for push sort
原文地址:https://www.cnblogs.com/Knightl8/p/12584329.html