当前位置:   article > 正文

字符串排序——c++_c++字符串排序

c++字符串排序

题目描述:有n个字符串,将其从大到小依次输出(无空格)

这其实就是说,给你几个字符串,在不改变字符串本身的前提下组合成一个最大的数(或文段)

这就用到了c++中的一个知识:字符串排序(是的,字符串也可以排序)

排序规则:

比较的时候,从字符串左边开始,一次比较每个字符,直接出现差异、或者其中一个串结束为止。

比如ABC与ACDE比较,第一个字符相同,继续比较第二个字符,由于第二个字符是后面一个串大,所以不再继续比较,结果就是后面个串大。

再如ABC与ABC123比较,比较三个字符后第一个串结束,所以就是后面一个串大。

所以,长度不能直接决定大小,字符串的大小是由左边开始最前面的字符决定的。

废话不说了,上代码:

  1. #include <iostream>
  2. #include <algorithm>
  3. using namespace std;
  4. string s[25];
  5. bool cmp(string a,string b)
  6. {
  7. return a>b;
  8. }
  9. int main()
  10. {
  11. int n;
  12. cin >> n;
  13. for(int i=1;i<=n;i++)
  14. {
  15. cin >> s[i];
  16. }
  17. sort(s+1,s+n+1,cmp);
  18. for(int i=1;i<=n;i++)
  19. {
  20. cout << s[i];
  21. }
  22. return 0;
  23. }

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/你好赵伟/article/detail/826006
推荐阅读
相关标签
  

闽ICP备14008679号