妙用冒泡排序
Posted 自律的人最帅
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了妙用冒泡排序相关的知识,希望对你有一定的参考价值。
该题来自牛客网腾讯技术面试的一道题,没想到冒泡排序还能这么用。
题目描述:小Q最近遇到了一个难题:把一个字符串的大写字母放到字符串的后面,各个字符的相对位置不变,且不能申请额外的空间。
输入描述:输入数据有多组,每组包含一个字符串s,且保证:1<=s.length<=1000
输出描述:对于每组数据,输出移位后的字符串
示例1:输入:AklenBiCeilD 输出:kleieilABCD
直接上代码:
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
以上是关于妙用冒泡排序的主要内容,如果未能解决你的问题,请参考以下文章