妙用冒泡排序

Posted 自律的人最帅

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了妙用冒泡排序相关的知识,希望对你有一定的参考价值。

该题来自牛客网腾讯技术面试的一道题,没想到冒泡排序还能这么用。

题目描述:小Q最近遇到了一个难题:把一个字符串的大写字母放到字符串的后面,各个字符的相对位置不变,且不能申请额外的空间。

输入描述:输入数据有多组,每组包含一个字符串s,且保证:1<=s.length<=1000

输出描述:对于每组数据,输出移位后的字符串

示例1:输入:AklenBiCeilD 输出:kleieilABCD

直接上代码:

#include <iostream>#include <string>using namespace std;
int main(){ string s; while (cin >> s) { for (int i = 0; i < s.size(); ++i) { for (int j = 0; j < s.size() - i - 1; ++j) { if ((s[j] >= 'A' && s[j] <= 'Z') && (s[j + 1] < 'A' || s[j + 1] > 'Z')) swap(s[j], s[j + 1]); } } cout << s << endl; }}

题目来源于:https://www.nowcoder.com/questionTerminal/7e8aa3f9873046d08899e0b44dac5e43?f=discussion

以上是关于妙用冒泡排序的主要内容,如果未能解决你的问题,请参考以下文章

开发成长之路(16)-- 算法小抄:思维跃迁

关于setTimeout的妙用

C语言冒泡排序法代码

请问这个冒泡排序代码,每一行都是啥意思呀,谢谢

java冒泡排序法代码

python代码实现鸡尾酒排序(双向冒泡排序)