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函数,
参数为要删除的位置
FISH

原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 护肤品酒精含量太高怎么办 父母出国三年想孩子怎么办 孩子高考不理想想出国怎么办 交大附中创新班剩余孩子怎么办 棋牌开发公司倒闭了怎么办 7月1日本地流量怎么办 装电池的弹簧生锈了怎么办 电器被电池碱了怎么办 车辆被交警拖走怎么办 香烟熏的眼睛疼怎么办 想在中牟住5天怎么办 腰弯了直不了怎么办 自考科目停考了怎么办 把wlan密码忘了怎么办 滕州不给报新婚怎么办 体内锁水能力差怎么办 别人说你人品差怎么办 面对没素质的人怎么办 遇到很坏的室友怎么办 餐饮员工与顾客发生矛盾怎么办 新员工老员工出现矛盾怎么办 手机移动4g网慢怎么办 碰到素质低的老公怎么办 小孩做事拖拉 没时间观念怎么办 execl表中日期加3.5怎么办 狗狗喜欢咬人怎么办 烧烤一顿吃多了怎么办 派派背包食物不足怎么办 未转变者下不了怎么办 小升初户籍与房产不一致怎么办 小孩在外地读书怎么办计生证明 泉州居住证要半年小孩读书怎么办 孩子上学有兰山户口没有房产怎么办 培训机构跑路了怎么办 报的培训班跑路怎么办 巡视组举报后会怎么办 巡视组交办不办怎么办 分手以后还要不要联系忘不了怎么办 父母穷且不上进怎么办 惹父母生气了该怎么办 小孩戒奶不吃奶粉怎么办