zoukankan      html  css  js  c++  java
  • TheZealous的集训日常之字符串处理(字符串算法的基基基基基础)总结+练习

    当年钢哥讲字符串基础操作的时候没怎么好好练,如今被Hash、KMP和Trie树追着打,才追悔莫及,嘤嘤嘤~

    所以今天要水一篇博客,总结一下字符串基本操作,顺便捎上ybt字符串处理的题解。


    在c++中,有两种表示字符串的方法:“char”和“string”.

    一、char

    1.字符串事实上是使用‘’终止的一维字符数组。在字符串中,‘'作为标识占用储存空间,但不计入串的实际长度。

    2.字符串常量是由双引号括起来的一串字符,在表示字符串常量时,无需人为在字符串后加’'。

    3.用字符数组表示字符串时,不能对字符串直接赋值。

      eg:
         char a[10005];
         a="TheZealous AK NOI"这种写法是不合法的。

    4.sscanf和sprintf

      

    sscanf(s,"%d",&n)//将字符串s转化为整数n
    sprintf(s,"%d",&n)//将整数n转化为字符串s

    5.输入

      1)单字符:cin、getchar、scanf。

      用法:

    char w;
    cin>>w;
    w=getchar();
    scanf("%s",w);

      2)不含空格、换行符的字符串:cin、scanf。

    char k[1005];
    cin>>k;
    scanf("%s",k);

      3)字符串(无论有无空格):gets。

    char s[10004];
    gets(s);

      除这三种之外,还有一种输入方法:getchar多次输入。

    int k=0;
    while((s[i]=getchar())!='
    ')
    {
        i++;
    }

    例题:

    洛谷:数字反转(这个代码就不放了,没劲)。

    二、string

    1.头文件

    #include<string>

    2.用法

    string str1//定义一个字符串str1,初始化为空
    string str2(str1)//定义一个字符串str2,用str1初始化str2
    string str3("word")//定义一个字符串str3,用”word”初始化str3
    string str4(n,'a')//定义一个字符串str4,并将其初始化为n个'a'

    3.输入

      1)无空格、换行符的字符串:cin

      2)(可能)有空格、换行符的字符串:getline

    getline(cin,字符串变量)

    4.常用操作

    s.empty()//如果当前字符串为空,则返回ture,否则返回false
    s.size()//返回字符串的字符个数
    s.insert(pos,s2)//在s下标为pos的元素前插入字符串s2
    s.substr(pos,n)//返回s中从下标为pos的元素起的n个字符
    s.erase(pos,n)//删除从pos开始的n个字符
    s.replace(pos,n,s2)//将s中从pos开始的n个字符替换为s2
    s.find(s2,pos)//在s中找pos元素后s2首次出现的位置

    5.string中的字典序

      1)比较运算符

      2)s1.compare(s2)

    完结!

  • 相关阅读:
    CF终于上紫了。。。
    CF567F/51nod2522 上下序列
    bzoj 前100题计划
    CF1110G Tree-Tac-Toe 博弈论、构造
    BZOJ4816 SDOI2017 数字表格 莫比乌斯反演
    UOJ400/LOJ2553 CTSC2018 暴力写挂 边分治、虚树
    Luogu4774 NOI2018 屠龙勇士 ExCRT
    CF1039D You Are Given a Tree 根号分治、二分、贪心
    CF1056E Check Transcription 字符串哈希
    Luogu4345 SHOI2015 超能粒子炮·改 Lucas、数位DP
  • 原文地址:https://www.cnblogs.com/TheZealous/p/15094379.html
Copyright © 2011-2022 走看看