题目描述
本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。
小蓝要把一个字符串中的字母按其在字母表中的顺序排列。
例如,LANQIAO 排列后为 AAILNOQ。
又如,GOODGOODSTUDYDAYDAYUP 排列后为 AADDDDDGGOOOOPSTUUYYY。
请问对于以下字符串,排列之后字符串是什么?
WHERETHEREISAWILLTHEREISAWAY
输入描述
无
输出描述
无
实现代码
#include<bits/stdc++.h>
using namespace std;
int main()
{
string s="WHERETHEREISAWILLTHEREISAWAY";
sort(s.begin(),s.end());
cout<<s;
}
注意点
本来我的想法是对每个字母都进行计数,然后按顺序输出。但是看了教程发现老师的做法是真的快,而且让我对 sort()
函数更了解了。
注意此处用了万能头 #include<bits/stdc++.h>
,比赛用这个很方便。
知识点
sort()
函数使用了快速排序的方法,快速排序详解见下文:快速排序|菜鸟教程 。- 它避免了经典快速排序导致时间复杂度变成
O
(
n
2
)
O(n^2)
O(n2) 的极端情况。默认是从小到大排序,使用
sort()
函数之后,原来的数组、string 等内容已经被改变了,需要注意。