博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
实用函数及STL
阅读量:6998 次
发布时间:2019-06-27

本文共 2888 字,大约阅读时间需要 9 分钟。

ps:侵换,请在评论区留言或私信我

ps:本文不定期更新...

int s=atoi(string ss);   //将string型(全数字)转化为int型//atoi 表示 ascii to integer
vector(不定长数组/向量):#include  
vector
vec;vector[0];//使用下标访问元素;vec.front();//取vec中的第一个元素;vec.back();//取vec中的最末一个元素;vec.push_back(x);//在向量末尾加入元素x;vec.pop_back();//删除末尾元素,同时向量空间减少1;vec.insert(vec.begin()+i,a);//在第i+1个元素前边插入元素a;vec.erase(vec.begin()+i);//删除第i+1个元素;vec.size();//取向量大小;vec.clear();//清空向量;reverse(vec.begin(),vec.end());//将向量翻转;sort(vec.begin(),vec.end());//排序;vec.resize(n,1);//改变当前向量大小为n,新增加的元素赋值为1;vec.empty();//判断向量是否为空,为空返回1,不为空返回0;swap(vec & v);//交换向量vec和v的值;vec.max_size();//返回vec的最大长度;
set(集合):#include 
set
s;s.clear();//清除所有元素;s.count(x);//返回集合中元素x的数目,由于set中元素是唯一的,所以用来判断元素是否存在;s.empty();//判断当前集合是否为空;s.erase(x);//删除集合中元素x;s.insert(x);//再集合中插入元素x;s.size();//返回集合的大小;s.find(x);//在集合中查找元素x,返回的是指向x所在位置的迭代器;
stack(堆栈):#include 
stack
stk;stk.empty();//判断栈是否为空;stk.push();//向当前堆栈中加入元素;stk.pop();//将最后放入的元素弹出;stk.size();//返回堆栈的大小;stk.top();//返回堆栈 最后放入的元素;
map(映射):#include map
mp;map
,int> mpair;mp[0]=x;//利用数组方式插入数据,0是键,x是值;mp.at(0)=x;//利用at执行插入操作;mp.insert(make_pair(1,x));//利用insert插入pair(键,值)数据;mp.emplace(make_pair(1,x));//在映射中不存在主键1时执行插入操作;mp.size();//返回mp的大小;mp
::iterator iter;//定义迭代器;for(it=mp.begin(); it!=mp.end(); ++it);//映射遍历的方式,利用迭代器实现;mp.count(1);//统计键为1的元素存在的映射数,存在返回1,不存在返回0;mp.erase(iter);//根据迭代器删除元素;mp.clear();//清空映射;mp.epty();//判断映射是否为空;mp.find(1);//根据键1查找元素,找到以后返回迭代器;mp.rbegin(),mp.rend();//返回反向迭代器;lower_bound(1);//返回查找的键1的下界,即闭区间,返回的是迭代器;upper_bound(1);//返回查找的键1的上界,即开区间,返回的是迭代器;mp.swap(m);//将mp和m进行交换;
queue(队列):#include 
queue
q;q.push(x);//入队;q.pop();//出队;q.front();//访问队首元素;q.back();//访问队尾元素;q.empty();//判断队列是否为空;q.size();//返回队列的大小;
priority_queue
q //优先队列#include
q.empty() // 如果队列为空,则返回true,否则返回falseq.size() //返回队列中元素的个数q.pop() //删除队首元素,但不返回其值q.top() //返回具有最高优先级的元素值,但不删除该元素q.push(item) // 在基于优先级的适当位置插入新元素

algorithm

string   (字符串)#include
string s; //默认初始化,一个空字符串string s(cp,n) //复制字符串cp的前n个字符到s当中s.substr(pos1,n) //返回字符串位置为pos1后面的n个字符组成的串s.substr(pos) //得到一个pos到结尾的串//上边两个如果输入的位置超过字符的长度,会抛出一个out_of_range的异常s.insert(pos,str) //在s的pos位置插入strstr.erase (10,8);//直接指定删除的字符串位置第十个后面的8个字符str.erase (str.begin()+9);//删除迭代器指向的字符str.erase (str.begin()+5, str.end()-9);//删除迭代器范围的字符str.find(needle);//在str当中查找第一个出现的needle,找到则返回出现的位置,否则返回结尾

 

/*用scanf读入整数的时候可以控制读入的位数,比如 scanf("%2d",&m); 就是读入一个2位的整数所以可以用以下方式读入整个矩阵*/int c,m,mapp[101][101];for(c=1;c<=m;c++)//循环变量稍微有点奇怪         for(d=1;d<=n;d++)              scanf("%1d",&mapp[c][d]);

 

转载于:https://www.cnblogs.com/Alarak26/p/8505628.html

你可能感兴趣的文章
高铁与机场成交通信息化建设的双驾马车
查看>>
chmod命令
查看>>
货币的起源和职能是什么?绘制货币资金管理思维导图简单的方法介绍
查看>>
springboot+kafka+elk+docker+docker-compose+centos搭建日志收集系统
查看>>
时讯无线如何满足商业区的无线覆盖?
查看>>
2014最新open***搭建实例
查看>>
WinAPI: midiOutCachePatches - 预装音色
查看>>
finally执行顺序
查看>>
TWebBrowser 与 MSHTML(2): 获取 window 对象的时机
查看>>
【博客话题】IT人,你肿么了? ——除了IT,你还能选择什么?
查看>>
docker初步入门
查看>>
Outlook提示:无法安装或装载加载项vpmsece.dll
查看>>
使用Apache开源POI和jXLS两种API生成报表
查看>>
oracle控制台OEM无法启动
查看>>
haproxy负载均衡
查看>>
clink 让cmd像ubuntu gnome-terminal一样
查看>>
初识Java模板引擎Beetl之简单示例
查看>>
Oracle UNDO表空间的管理
查看>>
canal.deployer-1.1.0版本,当监听到数据库变动时,server端报异常,docker单核引起的问题...
查看>>
JAVA并发编程:干掉 Synchronized
查看>>