使用std:sort对cpp中的字符串数组进行排序

艾里尔·耶尔(Ariel Yael)

我想排序数组(是的,不是向量)的字符串,下面从网站,如一些建议,一个。这是我到目前为止编写的代码,但它始终会打印出长错误(在Google上没有结果)。如何解决?

#include <algorithm>
#include <cstring>
#include <iostream>
//qsort(names, n, 15, (int (*)(const void *, const void *))strcmp);



int main()
{
    std::cout << "hi";
    char arr[3][6];
    strcpy(arr[0], "hello"), strcpy(arr[1], "hillo"), strcpy(arr[2], "hallo");
    std::sort(arr, arr + 3, [](char const *lhs,
                           char const *rhs) { return strcmp(lhs, rhs) < 0; });
    //qsort(arr, 3, 20, (int (*)(const void *, const void *))strcmp);
    for (int i = 0; i < 3; ++i)
        std::cout << arr[i] << '\n';
}
埃雷里卡

这是错误消息的相关部分:

错误:必须使用大括号括起来的初始化程序来初始化数组

不幸的是,这不是很清楚,但是它来自排序实现内部。因此,让我们修改算法的前提条件:

std::sort通过交换元素来实现。因此,它要求元素是可交换的。数组的元素是数组。阵列不可交换。因此,数组数组不能排序。

会在这里使用“字符串”类型吗?

使用std::string将起作用。它是可交换的。您甚至不需要自定义比较功能,因为它甚至具有可比性。

是什么使得数组不可交换和其他类型可交换

交换通过移动初始化(和分配)进行补充。语言规则说数组不能移动初始化(也不能分配)。知道这一点后,看看错误消息是否有意义。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Sort 方法只对附加的字符串进行排序,而不是对最初在数组中的字符串进行排序

来自分类Dev

使用基于字符串中的字符的比较器对字符串数组进行排序

来自分类Dev

如何在JavaScript中不使用内置sort()和atoi方法对字符串数据类型的数组进行排序

来自分类Dev

如何使用Arrays.sort()按长度对字符串数组进行排序

来自分类Dev

使用java中的选择排序按字符串对用户定义的数组进行排序

来自分类Dev

使用Collections.sort对字符串进行排序?

来自分类Dev

使用<xsl:sort>对部分字符串值进行排序

来自分类Dev

使用Array.sort也对字符串进行排序

来自分类Dev

使用`sort`对数字字符串进行排序

来自分类Dev

在C中对字符串/结构数组进行排序

来自分类Dev

对数组中的字符串项列表进行排序

来自分类Dev

在Java中对字符串数组进行排序

来自分类Dev

在Javascript中对字符串值对数组进行排序

来自分类Dev

在 linq 中对包含数字的字符串数组进行排序

来自分类Dev

从db中按字符串对数组进行排序

来自分类Dev

对数组中的字符串进行排序

来自分类Dev

使用Java对字符串数组进行排序

来自分类Dev

使用自定义比较功能使用std :: sort()对向量字符串进行排序时遇到问题

来自分类Dev

使用jq按长度对数组中的字符串进行排序

来自分类Dev

javascript-仅使用字符串中的数字对数组进行排序

来自分类Dev

CakePHP 2.4.4如何使用Hash :: sort按字符串键和值对多维数组进行排序?

来自分类Dev

按字符串中的数字对Ruby字符串数组进行排序

来自分类Dev

在C中,按字符串长度对字符串数组进行排序

来自分类Dev

根据字符串内容中的@number对字符串数组进行排序

来自分类Dev

linq按子字符串对数组中的字符串进行排序

来自分类Dev

在字符串中对字符进行排序

来自分类Dev

在字符串中对字符进行排序

来自分类Dev

先对数字进行排序,然后对字符串数组中的字母进行排序

来自分类Dev

在Perl中使用逗号或点对字符串进行排序以对数组进行排序

Related 相关文章

  1. 1

    Sort 方法只对附加的字符串进行排序,而不是对最初在数组中的字符串进行排序

  2. 2

    使用基于字符串中的字符的比较器对字符串数组进行排序

  3. 3

    如何在JavaScript中不使用内置sort()和atoi方法对字符串数据类型的数组进行排序

  4. 4

    如何使用Arrays.sort()按长度对字符串数组进行排序

  5. 5

    使用java中的选择排序按字符串对用户定义的数组进行排序

  6. 6

    使用Collections.sort对字符串进行排序?

  7. 7

    使用<xsl:sort>对部分字符串值进行排序

  8. 8

    使用Array.sort也对字符串进行排序

  9. 9

    使用`sort`对数字字符串进行排序

  10. 10

    在C中对字符串/结构数组进行排序

  11. 11

    对数组中的字符串项列表进行排序

  12. 12

    在Java中对字符串数组进行排序

  13. 13

    在Javascript中对字符串值对数组进行排序

  14. 14

    在 linq 中对包含数字的字符串数组进行排序

  15. 15

    从db中按字符串对数组进行排序

  16. 16

    对数组中的字符串进行排序

  17. 17

    使用Java对字符串数组进行排序

  18. 18

    使用自定义比较功能使用std :: sort()对向量字符串进行排序时遇到问题

  19. 19

    使用jq按长度对数组中的字符串进行排序

  20. 20

    javascript-仅使用字符串中的数字对数组进行排序

  21. 21

    CakePHP 2.4.4如何使用Hash :: sort按字符串键和值对多维数组进行排序?

  22. 22

    按字符串中的数字对Ruby字符串数组进行排序

  23. 23

    在C中,按字符串长度对字符串数组进行排序

  24. 24

    根据字符串内容中的@number对字符串数组进行排序

  25. 25

    linq按子字符串对数组中的字符串进行排序

  26. 26

    在字符串中对字符进行排序

  27. 27

    在字符串中对字符进行排序

  28. 28

    先对数字进行排序,然后对字符串数组中的字母进行排序

  29. 29

    在Perl中使用逗号或点对字符串进行排序以对数组进行排序

热门标签

归档