#include<bits/stdc++.h>
using namespace std;
struct node{
char c;
int tag;
}E[1005];
bool cmp(node a, node b){
char aa = tolower(a.c);
char bb = tolower(b.c);
if(aa != bb) return aa < bb;
else return a.tag < b.tag;
}
int main(){
string str;
while(getline(cin,str)){
int k=0;
for(int i=0;i<str.size();i++){
if(isalpha(str[i])){
E[k].c = str[i];
E[k].tag = i;
k++;
}
}
sort(E,E+k,cmp);
int u=0;
for(int i=0;i<str.size();i++){
if(isalpha(str[i])){
cout<<E[u].c;
u++;
}else cout<<str[i];
}
cout<<endl;
}
return 0;
}
字符串排序2【北京大学】
最新推荐文章于 2021-09-10 16:25:28 发布