我正在尝试对 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/