栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

字符串处理001

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

字符串处理001

字符串定义:
一串字符的集合,理解为以’’结尾的字符数组。
字符和整数的关系ASCII码一一对应关系。
几个较为重要的字符对应关系:
‘A’ 65
‘a’ 97
‘0’ 48
一般描述字符串的时候采用的是string类原因是功能更加强大使用起来更加方便。
引用头文件
介绍一个函数的用法:
sort函数
对两个迭代器(或指针)指定的部分进行快速排序,第三个参数可以传入定义大小比较的函数,或者是对小于号的重载
实现的是从小到大进行排序

int a[maxn];
bool cmp(int a, int  b)
{
	return a > b;
}
sort(a, a + n, cmp);

如果是自定义结构体进行结构体内数据的比较的话可以进行第二种方式

struct rec{
	int x, y;
};
vector  a;
bool operator <(const rec &a, const rec &b)
{
	return a.x < b.x || a.x == b.x && a.y < b.y;
}
sort(a.begin(), a.end());
001字符串处理


(图片来自网络)
思路分析:采用两个变量进行循环即可,每次循环进行计数,也就是双指针算法来处理;
直接上代码:

#include 
#include 

using namespace std;

int main()
{
    int n;
    cin >> n;       
    while(n --)
    { 
        int k, max_ = 0;
        string str, val;// 在循环里面的定义可以重置字符串;
        cin >> str; 
        for(int i = 0; i < str.size(); i ++)
        {
            k = i;
            while(k < str.size() && str[k] == str[i])  k ++;
            if(k - i > max_)
            {
                max_ = k - i;
                val = str[i];
            } //赋值;
            i = k - 1; //别忘了减一就行;
        }
        cout << val << ' ' << max_ << endl;//输出结果即可。
    }
    return 0;
}

好了这就是今天的题目,明天再见!

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/714741.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号