7-1 英文单词排序 pta
题目介绍:
思路挺简单的:
创建字符串数组,存储每一个字符串,再用 sort 函数进行排序即可
#include<bits/stdc++.h>
using namespace std;
bool cmp(string a,string b)
{
return (a.size()<b.size());
}
int main()
{
string s;
string s1[20];
int a = 0;
while(cin>>s && s != "#")
{
if(s.size()>=10)
continue;
s1[a] = s;
a++;
}
stable_sort(s1,s1+a,cmp);
for(int i = 0;i<a;i++)
cout<<s1[i]<<" ";
return 0;
}
注意的是:排序函数不能使用 sort 而是 stable_sort
带有stable的函数可保证相等元素的在排序后顺序不变。
例:
purple 和 yellow 的长度相同,但有可能会因为排序而导致顺序不同,所以要使用 stable_sort 函数。