stl--string 实践技巧
来源:互联网 发布:c语言函数规则 编辑:程序博客网 时间:2024/05/16 19:55
1.实际运用过程中 set可以用来存string的每一位
例如
string a;
set<char>o;
o.insert(a[i]);
2.string 重载了+=,但是没有重载-=,用erase函数代替
3.string可以用replace来进行替换,以[CodeForces-883F]为例(http://codeforces.com/problemset/problem/883/F),
本题是计算不同方言下同义单词的个数,即把”u”换成”oo” 和 “kh”换成 h,比较特殊的是 kkkh 和 h 同义。
见下面这种做法:从后往前跑,用replace进行替换
三个参数分别为(要替换的位置i,要替换的字符数目,和 覆盖后的字符串起始位置或本身)
#include<bits/stdc++.h>using namespace std;int main(){ int n; scanf("%d",&n); string str; set<string> q; while(n--) { cin>>str; for(int i=str.length(); i>=0; i--) { if(str[i]=='u') str.replace(i,1,"oo"); else if(str[i]=='k'&&str[i+1]=='h') str.replace(i,2,"h"); } q.insert(str); } cout<<q.size()<<endl; return 0;}
4.string还可以进行字符串的某个位置元素删除,调用erase函数,
参数为要删除的位置
阅读全文
0 0
- stl--string 实践技巧
- STL实践(string&IO)
- STL实践
- STL string
- STL String
- STL string
- STL--string
- STL string
- STL string
- 【STL】string
- stl string
- STL string
- STL: string
- STL::string
- STL-String
- STL string
- STL string
- STL string
- 007_LeetCode_7 Reverse Integer 题解
- 如何将简单java程序打包成jar包以及生成exe
- 春季实习生校园招聘总结
- hdoj-1039Easier Done Than Said?
- 扫描手机号识别技术,手机号识别
- stl--string 实践技巧
- Java BIO、NIO、AIO
- String和StringBuilder的本质区别
- Python绘制曲面和曲面对应的等高线图
- 12 C++标准库中STL体系结构简介(学自Boolean)
- 汇编中断中显示属性字节(一般为BL)的学习笔记
- POJ---1384Piggy-Bank (完全背包+装满问题)
- sass与scss的区别
- codeforces Pride 892C