题解 | #字符串排序#

https://www.nowcoder.com/practice/5190a1db6f4f4ddb92fd9c365c944584

采用冒泡算法,这是一个稳定的排序算法,需要注意,该算法把相邻的元素两两交换,但是由于题目中给出字符中有其他字符,需要跳过,因此最后的排序算法如下
#include <iostream>
#include <string>
#include <vector>
#include <algorithm>
#include <cmath>
using namespace std;
void sort_str(string &str) {
  bool exchange = true;
  int sz = str.size();
  for (int i = 0; i < sz - 1 && exchange; i++) {
    exchange = false;
    int j = sz - 1;
    int k = j - 1;
    while (k >= i) {
        if(isalpha(str[k])){
          if (isalpha(str[j]) && tolower(str[k]) > tolower(str[j])) {
            swap(str[k], str[j]);
             exchange = true;
          }
          j = k;
        }
      k = k - 1;
    }
  }
}
int main() {
    string str;
    getline(cin,str);
    sort_str(str);
    cout<<str<<endl;
}


全部评论

相关推荐

码农索隆:卡学历都不行了,开始卡颜值了
点赞 评论 收藏
分享
07-09 18:28
门头沟学院 Java
写着提前批,结果还要实习4个月以上???
程序员牛肉:这种不用看,直接投了,面试的时候问对应的HR就行。有可能他们是直接复制的暑期实习的模板。
点赞 评论 收藏
分享
小浪_Coding:找硬件测试,也可兼顾软测欧, 简历还可以的 ,注意排版,项目写的有条理一点, 然后个人技能多加点, 润色好简历之后就开始沟通海投了,深圳,东莞这边做硬件相关的公司还不少, 医疗类,仪器类的都可以尝试
点赞 评论 收藏
分享
07-11 11:10
门头沟学院 Java
请问各位大三兄弟们跟hr说多久实习时间到时候可以提前跑路吗?
程序员小白条:问就是六个月以上,可以一年,实习都这样,你入职后想跑就跑
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务