STL中的一些操作
来源:互联网 发布:centos php exec 权限 编辑:程序博客网 时间:2024/05/18 20:51
① . next_permutation prev_permutation:可以按升序生成下一个字典序列。。。
例:
int shu[6]={1,2,3,4,5,6};则 next_permutation(shu,shu+6)后shu[6]={1,2,3,4,6,5}; 如果下一序列存在,此函数的return值为true;如果shu[6]={6,5,4,3,2,1};下一序列不存在则此函数的return 值为false;
例题:南阳oj 19题 擅长排列的小明
prev_permutation 的用法和next_permutation 的一样,,,他是求降序的。。。。。
② . replace: 字符替换
string ch,chl="we";//定义string 类型 ch.replace(ch.begin()+it,ch.begin()+it+3,chl.begin(),chl.end());将ch 字符串中的ch[it]到ch[i+2]替换为 chl的begin()到chl的end(),也可以写成chl().begin()+2;;string::size_type it;//定义it 为string类型的长度 it=ch.find("you");//查找下一个“you”出现的位置 。。
例题:南阳oj 113题 字符串替换
3. lower_bound 和 upper_bound
定义vector <int> shu
lower_bound(shu.begin(), shu.end(),val)算法返回一个非递减序列shu中的第一个大于等于值val的位置。
upper_bound(shu.begin(), shu.end(),val)算法返回一个非递减序列shu中第一个大于val的位置。
如 shu[]={ 1,2,3,4,5,6,6,6,7,7,7,7}
lower_bound(shu.begin(), shu.end(),6)=5; (shu[5])
upper_bound(shu.begin(), shu.end(),val)=8; (shu[8])
4.vector
vector <int> xiang[MA];//// 建立vrctor 容器,名字是xiang[MA]xiang[a].push_back(b);//// 向 xiang[a] 最后添加元素b.li=xiang[p].back();////返回 xiang[p] 中的最后一个元素。xiang[p].pop_back();////删除 xiang[p] 中最后一个元素。ve.insert(ve.begin()+llp,b); //是将b插入到ve[ llp ] 的前面。
memcpy(temp,ma,sizeof(ma));
把ma里面的东西复制到temp里面
实数转为字符串型:
char s[80];
double f = 1.2345;
sprintf(s,"%lf",f);
字符串ch---重读
sscanf(ch,"%s%s",ch1,ch2);//重读
0 0
- STL中的一些操作
- STL中的heap操作
- stl中的堆操作
- STL中的堆操作
- stl中的一些小技巧
- 关于STL中的erase操作
- STL 中容器的一些简单操作
- [STL] __gnu_cxx::hash_map使用中的一些问题
- [STL] __gnu_cxx::hash_map使用中的一些问题
- STL容器在ACM中的一些用法
- 再谈STL中的vector删除操作
- STL之红黑树中的比较操作
- 谨慎使用STL中的erase操作!
- STL-map中的插入操作详解
- html中的一些操作记录
- SQLite数据库中的一些操作
- putty中的一些常用操作
- 面试中的一些字符串操作
- [java] 多态实现的JVM调用过程
- java 时区问题 SimpleDateFormat 时区大全
- ACdream 113 The Arrow (概率DP)
- Umeng 推送
- 根据屏幕上一条线求出线两侧形成的路的Path
- STL中的一些操作
- 根据二叉树的前序遍历和中序遍历构建二叉树的c语言完整代码
- HDU 5253 连接的管道(最小生成树-Kruskal+并查集)
- Nopcommerce 3.7 增加了Redis 作为缓存啦
- 分布式系统总结
- mysql表垂直分割和水平分割
- P、NP、NP-Hard、NPC问题之间的关系
- Widgets之Spinner
- RIL框架结构及RILJ的运行机制