STL实用入门教程第三讲白板.doc_第1页
STL实用入门教程第三讲白板.doc_第2页
STL实用入门教程第三讲白板.doc_第3页
STL实用入门教程第三讲白板.doc_第4页
STL实用入门教程第三讲白板.doc_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

讲解要点一、容器deque的使用方法;二、容器queue,stack的使用方法;三、容器list的使用方法。deque对象的默认构造deque deqInt; /一个存放int的deque容器。deque deq Float; /一个存放float的deque容器。deque deq String; /一个存放string的deque容器。. /尖括号内还可以设置指针类型或自定义类型。 deque末尾的添加移除操作deque deqInt;deqInt.push_back(1);deqInt.push_back(3);deqInt.push_back(5);deqInt.push_back(7);deqInt.push_back(9);deqInt.pop_front();deqInt.pop_front();deqInt.push_front(11);deqInt.push_front(13);deqInt.pop_back();deqInt.pop_back();/deqInt 13,11,5deque的数据存取deque deqInt;deqInt.push_back(1);deqInt.push_back(3);deqInt.push_back(5);deqInt.push_back(7);deqInt.push_back(9);int iA = deqInt.at(0);/1int iB = deqInt1;/3deqInt.at(0) = 99;/99deqInt1 = 88;/88int iFront = deqInt.front();/99int iBack = deqInt.back();/9deqInt.front() = 77;/77deqInt.back() = 66;/66deque与迭代器deque deqInt;deqInt.push_back(1);deqInt.push_back(3);deqInt.push_back(5);deqInt.push_back(7);deqInt.push_back(9);for (deque:iterator it=deqInt.begin(); it!=deqInt.end(); +it)cout *it;cout ;/ 1 3 5 7 9for (deque:reverse_iterator rit=deqInt.rbegin(); rit!=deqInt.rend(); +rit)cout *rit;cout ;/9 7 5 3 1deque对象的带参数构造deque deqIntA;deqIntA.push_back(1);deqIntA.push_back(3);deqIntA.push_back(5);deqIntA.push_back(7);deqIntA.push_back(9);deque deqIntB(deqIntA.begin(),deqIntA.end();/1 3 5 7 9deque deqIntC(5,8);/8 8 8 8 8deque deqIntD(deqIntA);/1 3 5 7 9deque的赋值deque deqIntA,deqIntB,deqIntC,deqIntD;deqIntA.push_back(1);deqIntA.push_back(3);deqIntA.push_back(5);deqIntA.push_back(7);deqIntA.push_back(9);deqIntB.assign(deqIntA.begin(),deqIntA.end();/ 1 3 5 7 9deqIntC.assign(5,8);/8 8 8 8 8deqIntD = deqIntA;/1 3 5 7 9deqIntC.swap(deqIntD);/互换deque的大小deque deqIntA;deqIntA.push_back(1);deqIntA.push_back(3);deqIntA.push_back(5);int iSize = deqIntA.size(); /3if (!deqIntA.empty()deqIntA.resize(5);/1 3 5 0 0deqIntA.resize(7,1);/1 3 5 0 0 1 1deqIntA.resize(2);/1 3deque的插入deque deqA;deque deqB;deqA.push_back(1);deqA.push_back(3);deqA.push_back(5);deqA.push_back(7);deqA.push_back(9);deqB.push_back(2);deqB.push_back(4);deqB.push_back(6);deqB.push_back(8);deqA.insert(deqA.begin(), 11);/11, 1, 3, 5, 7, 9deqA.insert(deqA.begin()+1,2,33);/11,33,33,1,3,5,7,9deqA.insert(deqA.begin() , deqB.begin() , deqB.end() );/2,4,6,8,11,33,33,1,3,5,7,9deque的删除删除区间内的元素deqInt是用deque声明的容器,现已包含按顺序的1,3,5,6,9元素。deque:iterator itBegin=deqInt.begin()+1;deque:iterator itEnd=deqInt.begin()+3;deqInt.erase(itBegin,itEnd);/此时容器deqInt包含按顺序的1,6,9三个元素。假设 deqInt 包含1,3,2,3,3,3,4,3,5,3,删除容器中等于3的元素for(deque:iterator it=deqInt.being(); it!=deqInt.end(); ) /小括号里不需写 +it if(*it = 3) it = deqInt.erase(it); /以迭代器为参数,删除元素3,并把数据删除后的下一个元素位置返回给迭代器。 /此时,不执行 +it; else +it; /删除deqInt的所有元素deqInt.clear();/容器为空queue对象的默认构造queue对象的默认构造形式:queue queT; 如:queue queInt; /一个存放int的queue容器。queue queFloat; /一个存放float的queue容器。queue queString; /一个存放string的queue容器。. /尖括号内还可以设置指针类型或自定义类型。queue的push()与pop()方法queue queInt;queInt.push(1);queInt.push(3);queInt.push(5);queInt.push(7);queInt.push(9);queInt.pop();queInt.pop();此时queInt存放的元素是5,7,9queue对象的拷贝构造与赋值queue queIntA;queIntA.push(1);queIntA.push(3);queIntA.push(5);queIntA.push(7);queIntA.push(9);queue queIntB(queIntA);/拷贝构造queue queIntC;queIntC = queIntA;/赋值queue的数据存取queue queIntA;queIntA.push(1);queIntA.push(3);queIntA.push(5);queIntA.push(7);queIntA.push(9);int iFront = queIntA.front();/1int iBack = queIntA.back();/9queIntA.front() = 11;/11queIntA.back() = 19;/19queue的大小queue queIntA;queIntA.push(1);queIntA.push(3);queIntA.push(5);queIntA.push(7);queIntA.push(9);if (!queIntA.empty()int iSize = queIntA.size();/5stack对象的默认构造stack对象的默认构造形式: stack stkT; 如:stack stkInt; /一个存放int的stack容器。stack stkFloat; /一个存放float的stack容器。stack stkString; /一个存放string的stack容器。. /尖括号内还可以设置指针类型或自定义类型。stack的push()与pop()方法stack stkInt;stkInt.push(1);stkInt.push(3);stkInt.pop();stkInt.push(5);stkInt.push(7);stkInt.push(9);stkInt.pop();stkInt.pop();此时stkInt存放的元素是1,5stack对象的拷贝构造与赋值stack stkIntA;stkIntA.push(1);stkIntA.push(3);stkIntA.push(5);stkIntA.push(7);stkIntA.push(9);stack stkIntB(stkIntA);/拷贝构造stack stkIntC;stkIntC = stkIntA;/赋值stack的数据存取stack stkIntA;stkIntA.push(1);stkIntA.push(3);stkIntA.push(5);stkIntA.push(7);stkIntA.push(9);int iTop = stkIntA.top();/9stkIntA.top() = 19;/19stack的大小stack stkIntA;stkIntA.push(1);stkIntA.push(3);stkIntA.push(5);stkIntA.push(7);stkIntA.push(9);if (!stkIntA.empty()int iSize = stkIntA.size();/5list对象的默认构造list对象的默认构造形式:list lstT; 如:list lstInt; /定义一个存放int的list容器。list lstFloat; /定义一个存放float的list容器。list lstString; /定义一个存放string的list容器。. /尖括号内还可以设置指针类型或自定义类型。list头尾的添加移除操作list lstInt;lstInt.push_back(1);lstInt.push_back(3);lstInt.push_back(5);lstInt.push_back(7);lstInt.push_back(9);lstInt.pop_front();lstInt.pop_front();lstInt.push_front(11);lstInt.push_front(13);lstInt.pop_back();lstInt.pop_back();/ lstInt 13,11,5list的数据存取list lstInt;lstInt.push_back(1);lstInt.push_back(3);lstInt.push_back(5);lstInt.push_back(7);lstInt.push_back(9);int iFront = lstInt.front();/1int iBack = lstInt.back();/9lstInt.front() = 11;/11lstInt.back() = 19;/19list与迭代器list lstInt;lstInt.push_back(1);lstInt.push_back(3);lstInt.push_back(5);lstInt.push_back(7);lstInt.push_back(9);for (list:iterator it=lstInt.begin(); it!=lstInt.end(); +it)cout *it;cout ;for (list:reverse_iterator rit=lstInt.rbegin(); rit!=lstInt.rend(); +rit)cout *rit;cout ;list对象的带参数构造list lstIntA;lstIntA.push_back(1);lstIntA.push_back(3);lstIntA.push_back(5);lstIntA.push_back(7);lstIntA.push_back(9);list lstIntB(lstIntA.begin(),lstIntA.end();/1 3 5 7 9list lstIntC(5,8);/8 8 8 8 8 list lstIntD(lstIntA);/1 3 5 7 9list的赋值list lstIntA,lstIntB,lstIntC,lstIntD;lstIntA.push_back(1);lstIntA.push_back(3);lstIntA.push_back(5);lstIntA.push_back(7);lstIntA.push_back(9);lstIntB.assign(lstIntA.begin(),lstIntA.end();/1 3 5 7 9lstIntC.assign(5,8);/8 8 8 8 8lstIntD = lstIntA;/1 3 5 7 9lstIntC.swap(lstIntD);/互换list的大小list lstIntA;lstIntA.push_back(1);lstIntA.push_back(3);lstIntA.push_back(5);if (!lstIntA.empty()int iSize = lstIntA.size();/3lstIntA.resize(5);/1 3 5 0 0lstIntA.resize(7,1);/1 3 5 0 0 1 1lstIntA.resize(2);/1 3list的插入list lstA;list lstB;lstA.push_back(1);lstA.push_back(3);lstA.push_back(5);lstA.push_back(7);lstA.push_back(9);lstB.push_back(2);lstB.push_back(4);lstB.push_back(6);lstB.push_back(8);lstA.insert(lstA.begin(), 11);/11, 1, 3, 5, 7, 9lstA.insert(+lstA.begin(),2,33);/11,33,33,1,3,5,7,9lstA.insert

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论