注意:两个格式一定要分清楚,不然编译不通过
1.单个字符串:
例如:string a;
对 a 进行排序:sort( a.begin(), a.end() );
2.多个字符串比较:
例:string a[n];
对 a[n] 进行排序: sort(a, a+n) ;
演示1:字符串重排列(单个字符串)
思路:用sort分别对两个字符串排序,对比排序后字符串是否相等。
#include<iostream>
#include<string>
#include<algorithm>
using namespace std;
int main() {
string a;
string b;
cin>>a>>b;
sort(a.begin(),a.end());//单个字符串中字母排序
sort(b.begin(),b.end());
if(a==b)cout<<"YES";//string类型的可以直接用运算符比较
else cout<<"NO";
return 0;
}
演示2 :城市名排序(多个字符串比较)
#include<iostream>
#include<string>
#include<algorithm>
using namespace std;
int main() {
int n;
cin>>n;
string a[n];
for (int i = 0; i < n; i++)
cin >> a[i];
sort(a, a + n);//多个字符串按字典顺序比较
for (int i = 0; i < n; i++)
cout<<a[i]<<endl;
return 0;
}