对简单字符串的排序整理(简单的2种方法)

这篇具有很好参考价值的文章主要介绍了对简单字符串的排序整理(简单的2种方法)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、用sort对字符串排序

1.sort可以对string排序

我在做题的时候发现我用sort对string排序的语句判错。

我最开始写的代码是

    string s;
    cin>>s;
    int len=s.length();
    sort(s,s+len);

我的天,我现在看见我这么写,我真想给自己一下子。现在因为返乡隔离什么的大脑都已经混乱了,我想我真是封的疯了。

在我查找相关的资料之后,终于大彻大悟,醍醐灌顶。正确代码如下:

    string s;
    cin>>s;
    sort(s.begin(),s.end());

看见正确的之后突然想起来string是一个类啊,和vector,queue什么的都有库函数啊,而且巨好用啊。这样事情就明了了,直接用这个方法对string排序就好了。

2.sort可以对字符数组排序

int main(){
    char ch[1001];
    cin>>ch;
    int len=strlen(ch);
    sort(ch,ch+len);
    cout<<ch;
    return 0;
}

用cin直接按首地址输入字符串,不能读入空格和回车

输入一串字符之后再按回车就直接输出了,应该根本没机会在cin中按回车 。(如果此话有错误,欢迎家银们批评指正)

对简单字符串的排序整理(简单的2种方法)

如果这样输入字符串

这样应该是没有超过100个字符都给算到里面了,如果输入没有超过100个字符,结束输入用ctrl+z结束。

对简单字符串的排序整理(简单的2种方法)

 如果输入超过100个字符,即使在输入的过程中超过了100,但还是可以输入,最后按回车就结束输入了,字符数组里面只取100个字符。

对简单字符串的排序整理(简单的2种方法)

二、类似冒泡排序的方法

这个方法具体有没有名字我不知道,但我刚学的时候总是用这个方法,其实还挺好用。

但是时间复杂度高,为O(n2)。

对简单字符串的排序整理(简单的2种方法)

int main(){
    char ch[1001];
    cin>>ch;
    int len=strlen(ch);
    for(int i=0;i<len-1;++i){
        for(int j=i+1;j<len;++j)
            if(ch[j]<ch[i])
                swap(ch[i],ch[j]);
    }
    cout<<ch;
    return 0;
}

i 从 0 循环到 len-1,j 从 i+1 到最后。

如果在  s[i]  后面有比  s[j]  小的,就把小的放在前面,每一次移动都确定了前面的1个元素的位置,最后就排好序了。属于稳定排序。文章来源地址https://www.toymoban.com/news/detail-449076.html

到了这里,关于对简单字符串的排序整理(简单的2种方法)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 字符串常见算法整理

    句子反转 构造新字符串办法 字符串的旋转 移动数组 第 i(1)个出现N次的字符在当前字符串中的索引 第 i(1) 个不重复的字符在当前字符串中的索引 两个字符串比较求最优算法 比较差异度 拓扑结构相同的子树 变形词问题 子串判断 ## KMP算法实现 ## 处理字符环(加长一倍

    2024年02月16日
    浏览(39)
  • 从键盘输入一个字符串,将此字符串按字符的ASCII码值从小到大排序,并显示排序后的字符串。

    题面: 字符串排序:要求编写程序,将给定字符串中的字符,按照ASCII码顺序从小到大排序后输出。 输入格式: 输入是一个以回车结束的非空字符串。 输出格式: 输出排序后的结果字符串。 输入样例: bfh3q487ybefg734 输出样例: 3344778bbeffghqy 思路: Dwl同学一开始给我的代码

    2024年02月05日
    浏览(49)
  • PostgreSQL常用字符串分割函数整理

    SPLIT_PART() 函数通过指定分隔符分割字符串,并返回第N个子串。语法: SPLIT_PART(string, delimiter, position) string : 待分割的字符串 delimiter:指定分割字符串 position:返回第几个字串,从1开始,该参数必须是正数。如果参数值大于分割后字符串的数量,函数返回空串。 示例:SELEC

    2024年02月08日
    浏览(25)
  • C语言:数组、字符串知识点整理:

    补充 :数组长度= sizeof(arr)/sizeof(arr[0]) 注意: !!! 不适用于当arr 充当形参时(函数传参) !!! 因为函数 传递 的是 int arr[0] 的 地址(指针) ,而 不是数组内容 , 若在此情况计算整形数组长度         在X86系统下,指针大小为 4 ,所以计算结果为4/4=1;       

    2024年03月10日
    浏览(42)
  • 字符串排序

    题目描述 本题要求编写程序,读入5个字符串,按由小到大的顺序输出。   输入 输入为由空格分隔的5个非空字符串,每个字符串仅包含小写字母,长度小于80。   输出 按照以下格式输出排序后的结果: After sorted: 每行一个字符串   样例输入 Copy 样例输出 Copy 一、关于为

    2024年02月03日
    浏览(24)
  • (Python)字符串统计排序

    【问题描述】 编写一个程序,接收用户输入的一个字符串(可以包含空格),统计其中所有出现过的所有字符,并按照频率高低的顺序排列输出。频率相同的字符按输入顺序输出。 【输入形式】 用户在第一行输入一个字符串,以回车结束输入。 【输出形式】 程序统计字符串中

    2023年04月11日
    浏览(31)
  • C# 去除字符串中的空格方案整理

    一、String.Trim() ,TrimStart(),TrimEnd() 去掉字符串 前后 的空格 二、String.Replace()函数 可以去掉字符串中 所有 的空格 三、正则表达式方法Regex.Replace()和匹配符s (匹配任何空白字符,包括空格,制表符,换页符等,与[fntrv]等效) 案例说明:   四、完善中..... 更多:

    2024年02月14日
    浏览(36)
  • Stream——数字类型的字符串排序

    想到给数据进行排序,一开始头脑中想到的就是 sorted() ,本篇文章重点说明: 数字类型的字符串数据排序。 其他类型数据排序参考之前的文章:Stream——集合数据按照某一字段排序 数字类型的字符串,准确说是我自己定义的一个 名词 ,就好比下列的数据类型。 \\\"1\\\" \\\"2\\\" 如标

    2024年02月13日
    浏览(37)
  • Python:按字母顺序排序字符串

    Python:按字母顺序排序字符串 在Python中,我们可以使用不同的方法来按字母顺序对字符串进行排序。排序字符串可以帮助我们按照字母的顺序重新排列字符串中的字符,使其更易于处理和比较。下面我将介绍两种常见的方法来实现这个目标。 方法一:使用内置函数sorted() P

    2024年02月05日
    浏览(44)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包