字符串排序,c++实现

字符串排序

http://www.nowcoder.com/questionTerminal/5190a1db6f4f4ddb92fd9c365c944584

基于冒泡排序

#include <iostream>
#include <string>
#include <vector>

using namespace std;
void sort(vector<char>& ch);//.adb.A

int main()
{
    string words;
    string out;
    vector<char> ch;
    while (getline(cin, words)) {
        out.clear();
        ch.clear();
        for (auto& i : words) {//将所有字母存入容器中
            if (isalpha(i)) {//判断是否为字母
                ch.push_back(i);
            }
        }
        sort(ch);
        for (int i = 0, j = 0; i < static_cast<int>(words.size()); i++) {
            if (isalpha(words[i])) {
                out += ch[j++];//字母
            }
            else {
                out += words[i];//非字母
            }
        }
        cout << out << endl;
    }
}

void sort(vector<char>& ch)//A Famous Saying: M
{
    int len = static_cast<int>(ch.size());
    for (int i = 0; i < len - 1; i++)
    {
        for (int j = 0; j < len - i - 1; j++)
        {
            if (tolower(ch[j]) > tolower(ch[j + 1]))
            {
                char temp = ch[j];
                ch[j] = ch[j + 1];
                ch[j + 1] = temp;
            }
        }
    }
}
全部评论

相关推荐

05-12 11:09
已编辑
门头沟学院 后端
已注销:没必要放这么多专业技能的描述。这些应该是默认已会的,写这么多行感觉在凑内容。项目这块感觉再包装包装吧,换个名字,虽然大家的项目基本都是网上套壳的,但是你这也太明显了。放一个业务项目,再放一个技术项目。技术项目,例如中间件的一些扩展和尝试。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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