标准库给的跟排序有关的函数,在对象是字符串类型的数组或者容器时,都并非简单的长度问题
其实前面有片文章已经提到过,对简单题的一套组合拳,觉得这不是个小发现,就特意写了篇文章记录下
int main(){
vector<string> str;
str = {"flweeer","fl","eeeqt","z","aaaaaaaaaaaaa"};
cout<<*min_element(str.begin(),str.end())<<endl;
cout<<*max_element(str.begin(),str.end())<<endl;
sort(str.begin(),str.end(),greater<string>());
for(string i:str) cout<<i<<" ";
}
程序输出:
aaaaaaaaaaaaa
z
z flweeer fl eeeqt aaaaaaaaaaaaa
其中min_element
和max_element
两个函数,返回的是迭代器,所以加个*
,将迭代器指向的内容取出来
如果排序时想按字符串长度排序,可以修改sort()
的第三个参数
int main(){
vector<string> str;
str = {"flweeer","fl","eeeqt","z","aaaaaaaaaaaaa"};
sort(str.begin(),str.end(),[=](string a,string b){return a.length()>b.length();});
for(string i:str) cout<<i<<" ";
}
程序输出:
aaaaaaaaaaaaa flweeer eeeqt fl z
以后补充和字符串数组排序相关的函数