信息学奥赛STL数据类型简介课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《信息学奥赛STL数据类型简介课件.ppt》由用户(ziliao2023)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 信息学 STL 数据类型 简介 课件
- 资源描述:
-
1、不定数组(vector)单县第一中学2017级信息学奥林匹克竞赛知识选讲一、定义 Vector是一个不定数组,其大小可根据需要随时变动,可定义为一维数组,或者二维数组,甚至多维。数据库为#include 定义如下:1一维:vector vec;/定义了一个名为vec 的一维数组 2二维:vectorvec10;/定义了一个第一 维为10,二维动态 的数组二、使用 数组插入元素:数组插入元素:vec.push_back(同类型量);作用是在vector的末尾插入新元素;2.insert()第一个参数为迭代器,作用为在迭代器前面插入新元素;3.assign(5,1)向vector中加入5个1,同时
2、清除掉以前的元素。二、使用 数组删除元素:1.pop_back()删除最后一个元素。2.erase()删除指定位置元素。(其中的参数要是指针变量,比如begain(),end(),以及迭代器值),例如vec.erase(vec.begin()+2);删除第3个元素 3.clear()清除所有元素。4.empty()判断该数组是否为空二、使用 访问数组:1.front()访问第一个元素(第一个元素的值而不是地址!begin()相反)2.back()访问最后一个元素(最后一个元素的值而不是地址!end()相反)3.size()数组的元素个数三、使用范例#include#includeusing n
3、amespace std;int main()vector a;for(int i=1;i=100;i+)a.push_back(i);couta.size()=1;i-)couta.back();a.pop_back();coutna.size();return 0;集合(set)单县第一中学2017级信息学奥林匹克竞赛知识选讲一、定义 set的特点是:会对集合中的元素根据键值自动排序,而且不允许集合中有重复元素 头文件:#include set中的函数:声明:set 名称 例如:sets1;begin()返回指向第一个元素的迭代器迭代器 end()返回指向最后一个元素的迭代器迭代器二、迭代
4、器迭代器 关于迭代器:声明:set:iterator 名称 访问迭代器指向元素时使用 *名称 需要注意的是:迭代器只能自增,不能+1或者-1或者其他操作迭代器的类型要与定义的set类型相同三、使用 常用的函数:begin()返回set容器的第一个元素的地址 end()返回set容器的最后一个元素地址 clear()删除set容器中的所有的元素 empty()判断set容器是否为空 max_size()返回set容器可能包含的元素最大个数 size()返回当前set容器中的元素个数 erase(it)删除迭代器指针it处元素使用样例#include#include using namespace
5、 std;int main()set s;s.insert(1);s.insert(2);s.insert(3);s.insert(1);coutset 的 size 值为:s.size()endl;coutset 的 maxsize的值为:s.max_size()endl;coutset 中的第一个元素是:*s.begin()endl;coutset 中的最后一个元素是:*s.end()endl;s.clear();if(s.empty()coutset 为空!endl;coutset 的 size 值为:s.size()endl;coutset 的 maxsize的值为:s.max_siz
6、e()endl;return 0;三、使用 1.count():用来查找set中某个元素出现的次数。这个函数在set并不是很实用,因为一个键值在set只可能出现0或1次,这样就变成了判断某一键值是否在set出现过了。2.find():用来查找set中某个元素出现的位置。如果找到,就返回这个元素的迭代器,如果这个元素不存在,则返s.end()。(最后一个元素的下一个位置,s为set的变量名)使用样例#include#include using namespace std;int main()set s;set:iterator it;/创建一个他对应的迭代器 s.insert(1);s.inse
7、rt(2);s.insert(3);s.insert(1);coutset 中 1 出现的次数是:s.count(1)endl;coutset 中 4 出现的次数是:s.count(4)endl;it1=st1.find(4);/查找数据 if(it1!=st1.end()/如果找到就输出数据 cout *it1 endl;return 0;三、使用/遍历数据,用迭代器遍历数据for(set:iterator it=s.begin();it!=s.end();+it cout *it endl;/这里用到了set中的元素已经从小到大排好序的性质使用样例#include#includeusing
8、 namespace std;seta;int main()int b;for(int i=1;ib;a.insert(b);for(set:iterator i=a.begin();i!=a.end();i+)cout*iendl;return 0;三、使用(结构体)struct Info string name;double score;bool operator (const Info&a)const/重载“”即可。return a.score score;int main()set s;Info info;/插入三个元素 info.name=Jack;info.score=80;s.i
展开阅读全文