快排 PTA 7-7 把字符串中的所有字符按从小到大的顺序排序
7-7 把字符串中的所有字符按从小到大的顺序排序 (10分)
输入一个字符串,把字符按从小到大的顺序排序后输出。
输入格式:
输入一个长度不超过20的字符串。
输出格式:
把字符按从小到大的顺序排序后输出。
输入样例:
defgacb
输出样例:
abcdefg
思路:
题目很简单,无非就是排序,直接用sort方法就能解决,最近刚学快排,也写了一个快排的方法,代码如下
sort方法:
#include <bits/stdc++.h>
using namespace std;
int main() {
string s;
getline(cin,s);
sort(s.begin(),s.end());
cout<<s;
return 0;
}
快排:
#include <bits/stdc++.h>
using namespace std;
string s;
void quickSort(int left , int right)
{
if(left>right)return;
int l=left,r=right;
char temp=s[left];
while(l!=r)
{
while(l<r && s[r]>=temp)
{
r--;
}
while(l<r && s[l]<=temp)
{
l++;
}
if(l<r)
{
swap(s[l],s[r]);
}
}
s[left]=s[l];
s[l]=temp;
quickSort(left,l-1);
quickSort(l+1,right);
return;
}
int main() {
getline(cin,s);
quickSort(0,s.size()-1);
cout<<s;
return 0;
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库
· SQL Server 2025 AI相关能力初探
· 为什么 退出登录 或 修改密码 无法使 token 失效