deque双向队列
来源:互联网 发布:改视频的软件 编辑:程序博客网 时间:2024/05/29 19:53
//查找 const int FINDNUMBER = 19; printf("\n查找%d\n", FINDNUMBER); pos = find(ideq.begin(), ideq.end(), FINDNUMBER); if (pos != ideq.end()) printf("find %d success\n", *pos); else printf("find failed\n"); //在头尾删除数据 printf("\n在头尾删除数据...\n"); ideq.pop_back(); ideq.pop_front(); //在头尾加入新数据 printf("\n在头尾加入新数据...\n"); ideq.push_back(100); ideq.push_front(i); //operator=赋值运算符重载 deque<int> d1 {1,2,3,4,5},d2; d2=d1; deque<int>::iterator it; for(it=d2.begin();it!=d2.end();it++) cout << *it << " "; cout << endl;//c.assign(n,num)将n个num拷贝复制到容器cdeque<int> d1 {1,2,3,4,5},d2; d2.assign(2,8); deque<int>::iterator it; cout << "d2.assign(n,num):"; for(it=d2.begin();it!=d2.end();it++) cout << *it << " ";//c.assign(beg,end)将[beg,end)区间的数据拷贝复制到容器c d2.assign(d1.begin(), d1.begin()+3); cout << "d2.assign(beg,end):"; for(it=d2.begin();it!=d2.end();it++) cout << *it << " "; cout << endl;//c.at(pos)返回索引为pos的位置的元素,会执行边界检查,如果越界抛出out_of_range异常 deque<int> d{1,2,3,4,5};//VS2012以下编译器不支持这种写法 cout <<"d.at(pos):"<<d.at(2);//c.at(pos)返回索引为pos的位置的元素,会执行边界检查,如果越界抛出out_of_range异常 deque<int> d {1,2,3,4,5};cout << "d[2]:" << d[2];//c.empty()判断c容器是否为空 deque<int> d {1,2,3,4,5}; if(!d.empty()) cout << "d is not empty!" << endl; else cout << "d is empty!" << endl;//c.front()返回c容器的第一个元素//c.back()返回c容器的最后一个元素 deque<int> d {1,2,3,4,5}; if(!d.empty()){cout << "d.front():" << d.front() << endl; cout << "d.back(): " << d.back() << endl;}//c.size()返回c容器中实际拥有的元素个数 deque<int> d {1,2,3,4,5}; cout << "d.size():" << d.size() << endl;//c.max_size()返回c容器可能存放元素的最大数量 deque<int> d {1,2,3,4,5}; cout << "d.max_size():" << d.max_size() << endl;//c.clear()清除c容器中拥有的所有元素 deque<int> d {1,2,3,4,5}; deque<int>::iterator it; cout << "clear before:" ; for(it=d.begin();it!=d.end();it++) cout << *it << " "; cout << endl; d.clear(); cout << "clear after:" ; for(it=d.begin();it!=d.end();it++) cout << *it << " "; cout << endl;//c.insert(pos,num)在pos位置插入元素num//c.insert(pos,n,num)在pos位置插入n个元素num//c.insert(pos,beg,end)在pos位置插入区间为[beg,end)的元素 deque<int> d {1,2,3,4,5}; deque<int>::iterator it; cout << "insert before:" ; for(it=d.begin();it!=d.end();it++) cout << *it << " "; cout << endl; d.insert(d.end(),22); d.insert(d.end(), 3,88); int a[5] = {1,2,3,4,5}; d.insert(d.begin(),a,a+3); cout << "insert after:" ; for(it=d.begin();it!=d.end();it++) cout << *it << " "; cout << endl;//c.erase(pos)删除pos位置的元素c.erase(beg,end)删除区间为[beg,end)的元素//c.erase(beg,end)删除区间为[beg,end)之间的元素 deque<int> d {1,2,3,4,5}; d.erase(d.begin()); deque<int>::iterator it; cout << "erase(pos) after:" ; for(it=d.begin();it!=d.end();it++) cout << *it << " "; cout << endl; d.erase(d.begin(), d.begin()+3); cout << "erase(beg,end) after:" ; for(it=d.begin();it!=d.end();it++) cout << *it << " "; cout << endl;//c.push_back(num)在末尾位置插入元素//c.pop_back()删除末尾位置的元素//c.push_front(num)在开头位置插入元素//c.pop_front()删除开头位置的元素 deque<int> d {1,2,3,4,5}; d.push_back(10); deque<int>::iterator it; cout << "push_back(num):" ; for(it=d.begin();it!=d.end();it++) cout << *it << " "; cout << endl; d.pop_back(); cout << "pop_back(num):" ; for(it=d.begin();it!=d.end();it++) cout << *it << " "; cout << endl; d.push_front(10); cout << "push_front(num):" ; for(it=d.begin();it!=d.end();it++) cout << *it << " "; cout << endl; d.pop_front(); cout << "pop_front(num):" ; for(it=d.begin();it!=d.end();it++) cout << *it << " "; cout << endl;//c.resize(num)从新定义容器的大小 deque<int> d {1,2,3,4,5}; cout << "d.size():" << d.size() << endl; d.resize(d.size()+5); cout << "d.resize() after:" << d.size() <<endl; deque<int>::iterator it; cout << "resize() after:" ; for(it=d.begin();it!=d.end();it++) cout << *it << " "; cout << endl;//c1.swap(c2)交换容器c1,c2;//swap(c1,c2)同上。 deque<int> d1 {1,2,3,4,5},d2,d3; d1.swap(d2); deque<int>::iterator it; cout << "d1 swap after:" ; for(it=d1.begin();it!=d1.end();it++) cout << *it << " "; cout << endl; cout << "d2 swap after:" ; for(it=d2.begin();it!=d2.end();it++) cout << *it << " "; cout << endl;swap(d3,d2); cout << "d3 swap after:" ; for(it=d3.begin();it!=d3.end();it++) cout << *it << " "; cout << endl;/*重载运算符operator==operator!=operator<operator<=operator>operator>=*/引自于http://www.cnblogs.com/scandy-yuan/archive/2013/01/09/2853603.htmlhttp://blog.csdn.net/morewindows/article/details/6950917
阅读全文
0 0
- deque双向队列
- C++ Deque(双向队列)
- Deque(双向队列)
- deque双向队列
- C++ Deque 双向队列
- deque双向队列
- deque双向队列
- deque容器(双向队列)
- deque 双向队列
- deque双向队列
- deque 双向队列
- 双向队列 Deque
- 双向队列集合 Deque
- C++ Deque(双向队列)
- C++ Deque(双向队列
- C++ Deque(双向队列)
- deque双向队列
- 双向队列deque
- Java Web入门学习(一) STS与Tomcat配置
- 【HDU6035】Colorful Tree(dfs,树形dp)
- 1.mini.MenuButton 菜单按钮。
- Nginx最大处理连接数
- curl安装——windows
- deque双向队列
- 题目12:喷水装置(二)
- leetcode 230. Kth Smallest Element in a BST
- Java8 之 Lambda
- C++调用构造函数
- ZOJ 1119 SPF(割点)
- eclipse使用maven打包可执行的jar包
- 前端插件之-swiper
- 如何使用windows的计划任务?