STL deque的一些函数练习
来源:互联网 发布:淘宝黑号是什么意思 编辑:程序博客网 时间:2024/06/03 21:08
#include <iostream>#include<deque>#include<vector>using namespace std;#if 0int main(){/************************************************************************ //deque构造函数// default (1) explicit deque (const allocator_type& alloc = allocator_type());// fill (2) explicit deque (size_type n, const value_type& val = value_type(),// const allocator_type& alloc = allocator_type());// range (3) template <class InputIterator>// deque (InputIterator first, InputIterator last,// const allocator_type& alloc = allocator_type());// copy (4) deque (const deque& x); deque<int> first;//构造空的双端队列的int类型 deque<int> second (4,100); //构造int类型的4个100 deque<int> third (second.begin(),second.end()-1);//用一个对象的一段去构造 deque<int> fourth (third);///用一个对象去构造 int myints[] = {16,2,77,29}; deque<int> fifth (myints, myints + sizeof(myints) / sizeof(int) );//用一个数组去构造****************************************************************//***********************************************************// deque::assign()函数// range (1) template <class InputIterator>// void assign (InputIterator first, InputIterator last);//// fill (2) void assign (size_type n, const value_type& val); //assign()函数就是从新初始化容器中的元素。 deque<int> first; deque<int> second; deque<int> third; first.assign (7,100);//first中有7个100 deque<int>::iterator it; it=first.begin()+1; second.assign (it,first.end()-1);//second中有5个100 int myints[] = {1776,7,4}; third.assign (myints,myints+3);//把数组mymints放到third容器中。 it=third.begin(); while(it!=third.end()) cout<<*it++<<" "; //输出结果:1776 7 4*************************************************/ return 0;}#endif#if 0int main(){/*********************************************// deque::at()函数:// reference at (size_type n);// const_reference at (size_type n) const; deque<unsigned> mydeque (10);//初始化为10个0 for (unsigned i=0; i<mydeque.size(); i++) mydeque.at(i)=i; for (unsigned i=0; i<mydeque.size(); i++) cout << ' ' << mydeque.at(i);// 输出结果: 0 1 2 3 4 5 6 7 8 9***********************************************//**********************************************// deque::back()函数:// reference back();// const_reference back() const; deque<int> mydeque; mydeque.push_back(10);//末尾加入一个元素 while (mydeque.back() != 0) //返回末尾这个元素 mydeque.push_back ( mydeque.back() -1 ); for (deque<int>::iterator it = mydeque.begin(); it!=mydeque.end(); ++it)//通过迭代器访问容器中的元素 cout << ' ' << *it;// 输出结果: 10 9 8 7 6 5 4 3 2 1 0*************************************************//******************************************// deque::clear()函数:// void clear(); deque<int> mydeque; mydeque.push_back (100); mydeque.push_back (200); mydeque.push_back (300); for (deque<int>::iterator it = mydeque.begin(); it!=mydeque.end(); ++it) cout << ' ' << *it; cout << '\n';// 输出结果:100 200 300 mydeque.clear();//清空容器中的元素 cout<<mydeque.size()<<endl;//输出0********************************************/ /********************************* // deque::empty()函数:// bool empty() const; deque<int> mydeque; mydeque.empty();//判断容器是否为空,为空返回true,不空返回false***********************************/ return 0;}#endif#if 0int main(){/*********************************************************************// deque的erase()函数:// iterator erase (iterator position);// iterator erase (iterator first, iterator last); deque<int> mydeque; for (int i=1; i<=10; i++) mydeque.push_back(i);//尾部插入元素 mydeque.erase (mydeque.begin()+5);//删除指定ierator的元素 mydeque.erase (mydeque.begin(),mydeque.begin()+3);//删除一段数据***********************************************************************//***************************************// deque::front():// reference front();// const_reference front() const; deque<int> mydeque; mydeque.push_front(2);//头部插入元素 mydeque.push_front(10); cout<<mydeque.front();//输出10**************************************/// deque::insert()函数:// (1)iterator insert (iterator position, const value_type& val);// (2)void insert (iterator position, size_type n, const value_type& val);// (3)template <class InputIterator>// void insert (iterator position, InputIterator first, InputIterator last); deque<int> mydeque; for (int i=1; i<6; i++) // 1 2 3 4 5 mydeque.push_back(i); deque<int>::iterator it = mydeque.begin(); ++it; it = mydeque.insert (it,10);//在it位置插入10.现在容器中元素是 1 10 2 3 4 5 mydeque.insert (it,2,20);//在it位置插入2个20,现在容器中元素是1 20 20 10 2 3 4 5 it = mydeque.begin()+2; vector<int> myvector (2,30); mydeque.insert (it,myvector.begin(),myvector.end());//现在容器中元素是 1 20 30 30 20 10 2 3 4 5 for (deque<int>::iterator it = mydeque.begin(); it!=mydeque.end(); ++it) cout << ' ' << *it; return 0;}#endif // 1
deque函数的用法和vector基本类似,因此只是写了一点
阅读全文
0 0
- STL deque的一些函数练习
- STL deque的构造函数(2)
- STL deque常用函数
- 关于STL中deque容器的一些总结
- STL的Deque介绍
- STL的deque类
- STL deque的使用
- STL的deque读书笔记
- STL之deque函数详解
- STL之deque函数详解
- STL之Vector的一些编程练习
- STL之List的一些编程练习
- c++的STL的deque
- STL中deque的用法
- STL 中 deque 的使用
- STL之Deque的使用方法
- STL 之 deque的用法
- STL 简单 deque 的实现
- cf472D Design Tutorial: Inverse the Problem
- 在运行时开启GC日志
- Jackson与Hibernate配合时产生一些问题
- Listview、RecyclerView中的item中包含可以点击的控件,点击冲突解决办法
- Others(理论知识)
- STL deque的一些函数练习
- 使用github+hexo搭建免费个人博客
- CodeChef:Magic Board(思维 & 树状数组)
- Python学习篇 之 如何实现多态机制
- POJ3145: Harmony Forever
- linux多线程之mutex
- PAT[1046]划拳
- 线性代数之行列式(1) ——行列式的定义以及二阶行列式
- MyEclipse启动Tomcat报outOfMerorgError