C++

字符串排序

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

使用冒泡排序
#include<iostream>
#include<vector>
using namespace std;
//判断是否为字母
bool isletter(char c)
{
if((c>='A'&&c<='Z')||(c>='a'&&c<='z'))
return true;
else
return false;
}//end func</vector></iostream>

bool compare(char a,char b)
{
//转换成大写字母比较
a=(a>='a'?char(int('A')+a-'a'):a);
b=(b>='a'?char(int('A')+b-'a'):b);
if(a>b)
return true;
if(a<=b)
return false;
}//end func

int main()
{
string s;
while (getline(cin,s))
{
vector<int> index;
//记录字符串中字母的坐标
for (int i = 0; i < s.size(); i++)
{
if (isletter(s[i]))
index.push_back(i);
}
//冒泡排序
for (int i = 0; i < index.size() - 1; i++)
{
for (int j = 0; j < index.size() - i - 1; j++)
{
if (compare(s[index[j]], s[index[j + 1]]))
{
char tmp;
tmp = s[index[j]];
s[index[j]] = s[index[j + 1]];
s[index[j + 1]] = tmp;
}//end if
} //end for
}//end for
cout << s << endl;
}
}</int>

全部评论

相关推荐

买蜜雪也用卷:我觉得应该没有哪个人敢说自己熟练使用git,代码分支一复杂还是得慢慢寻思一下的,不过基本的拉代码提交代码还有分支什么的是应该会
点赞 评论 收藏
分享
05-16 11:16
已编辑
东华理工大学 Java
牛客737698141号:盲猜几十人小公司,庙小妖风大,咋不叫她去4️⃣呢😁
点赞 评论 收藏
分享
评论
2
收藏
分享

创作者周榜

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