题解 | #字符串排序#

字符串排序

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

#include<bits/stdc++.h>
using namespace std;
int sort_A(vector<char>& vec);
bool comp(char a,char b){
    if(a-b=='A'-'a'||b-a=='A'-'a')
        return true;
    a = toupper(a);b=toupper(b);
    return a<b;
}

int main(){
    
    string str;
    while(getline(cin, str)){
        vector<char> vec;
        vector<int> indexs;
        for(int i=0;i<str.size();++i){
            if((str[i]>='a'&&str[i]<='z')||(str[i]>='A'&&str[i]<='Z')){
                vec.push_back(str[i]);
                indexs.push_back(i);
            }
        }
        //stable_sort(vec.begin(), vec.end(),comp);
        sort_A(vec);
        for(int i =0;i<indexs.size();++i){
            str[indexs[i]] = vec[i];
        }
        cout<<str<<endl;
    }
    return 0;
}

//冒泡排序
int sort_A(vector<char>& vec){
    int n=vec.size();
    for(int i=1;i<n;++i){
        for(int j=0;j<n-i;++j){
            int c1=toupper(vec[j]);
            int c2=toupper(vec[j+1]);
            if(c1>c2){
                swap(vec[j], vec[j+1]);
            }
        }
    }
    return 1;
}
全部评论

相关推荐

07-17 12:09
门头沟学院 Java
讲的口干舌燥,头都晕了怎么要讲这么长啊
码农索隆:没事,你口干舌燥,他不一定会看,
投递小鹏汽车等公司7个岗位
点赞 评论 收藏
分享
Twilight_m...:还是不够贴近现实,中关村那块60平房子200万怎么可能拿的下来,交个首付还差不多
点赞 评论 收藏
分享
头顶尖尖的程序员:我是26届的不太懂,25届不应该是找的正式工作吗?为什么还在找实习?大四还实习的话是为了能转正的的岗位吗
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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