c++ - 对二维字符数组进行排序? C++

标签 c++ arrays sorting

我正在尝试对 10X15 字符数组进行排序,其中每一行都是一个单词。我的目标是按降序对它进行排序,从顶部的最大值单词开始,在数组[行 0][从 0 到 14 列]位置,以及底部数组[行 9][列 0] 的最小值单词通过 14]。每一行都是一个单词(是的,它们看起来不像单词,但它是为了测试程序的排序能力)。

澄清一下:我需要做的是......考虑到每一行都是一个完整的单词,我需要从顶部的最高值单词开始对行进行排序,然后最低值(value)的词在底部。

编辑:

现在一切正常。对于任何有类似问题的人,请查看下面的评论,有几个很棒的解决方案,我只是选择了我创建自己的排序函数的那个​​,以了解有关排序的更多信息。感谢大家对我的帮助! :)

最佳答案

你正在使用 C++,所以停止使用数组并从 STL 类型开始:

将每一行转换成一个字符串:

string tempString
for (int i = 0; i < rowSize; ++i) {
    tempString.pushBack(array[foreachrow][i])
}

将它们添加到一个 vector 中

std::vector<std::string> sorter;
sorter.push_back(tempString);

对每一行都这样做。

std::vector<std::string> sorter;
for each row {
    for each coloumn {
        the string thing

    }
    push back the string
}

然后使用 std::sort 对 vector 进行排序,并将 vector 写回数组(如果你必须这样做,但不要这样做,因为数组很烂)

关于c++ - 对二维字符数组进行排序? C++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14763962/

相关文章:

Java排序与MySQL排序不一样

java - 排序字符串数组

c++ - 避免在内存中创建多个代码拷贝

c++ - 在 C++ 中使用 if 语句进行相等性测试

java - 将数组的所有元素向左旋转 "k"位置,但我的代码将其向右移动

jquery ui组合框从菜单项创建数组

C++ 构造函数与初始化列表速度比较

c++ - 我应该如何在两个复数的总和中使用自动类型转换? (C++)

C++ - 分配一个无符号字符缓冲区,然后用一个字符串填充它

git - 列出 git repo 中的标签,按它们在图表中的显示方式排序