排序2D数组C ++

1110101001

是否可以在C ++中使用qsort或std :: sort对2D数组进行排序,以便当从每行的左向右或每列的从上至下读取元素时,它们的顺序是递增的?

例如,

13, 14, 15, 16
1, 4, 3, 2
7, 5, 7, 6
9, 10, 11, 12

成为:

{ 1, 2, 3, 4 }
{ 5, 6, 7, 8 }
{ 9, 10, 11, 12 }
{ 13, 14, 15, 16 } 

我知道您可以通过创建两个比较函数,然后首先对每一行进行排序,然后对每一行的第一个元素进行比较以建立列来做到这一点,但是有没有办法在一个函数本身中做到这一点?

4个

是。C ++ STL库是通过算法容器的分离构建的将它们链接在一起的是迭代器原始指针是迭代器,因此可以使用原始指针初始化向量,然后照常对向量进行排序。

std::vector<int> v(arr2d, arr2d + N); // create a vector based on pointers
                                      // This assumes array is contiguous range 
                                      // in memory, N=number of elemnts in arr2d
// using default comparison (operator <):
std::sort (v.begin(), v.end());

// cout by 4 elements in a row

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

C++ 2D 数组排序

来自分类Dev

2D数组:C中的字母排序

来自分类Dev

2D数组:C中的字母排序

来自分类Dev

在C ++中对2D数组进行排序

来自分类Dev

自然排序2D PHP数组

来自分类Dev

排序2d对象数组Java

来自分类Dev

无法排序2D数组的每个数组

来自分类Dev

按内部数组的长度降序对2D数组排序?

来自分类Dev

在C ++中使用sort()对2D字符数组进行排序

来自分类Dev

如何使用C ++中的sort函数对2D数组进行排序?

来自分类Dev

使用std :: sort对C风格的2D数组进行部分排序

来自分类Dev

如何在C中对2D数组中的字符串进行排序

来自分类Dev

按C中的第一列对动态分配的2D数组进行排序

来自分类Dev

如何使用C ++中的sort函数对2D数组进行排序?

来自分类Dev

用strcmp排序,然后冒泡在C中将2D数组

来自分类Dev

通过在c中按字母顺序对2d字符串数组进行排序

来自分类Dev

根据另一个2D数组重新排序2D数组

来自分类Dev

javascript 2D数组-排序和合并

来自分类Dev

使用qsort对2D数组排序时警告

来自分类Dev

分组/排序/拆分2D列表/数组

来自分类Dev

Python numpy保留排序的2D数组的索引列表

来自分类Dev

如何优化numpy 2D排序数组的创建?

来自分类Dev

如何对结构的2D动态数组进行排序

来自分类Dev

使用std :: sort排序2d数组(基于列)

来自分类Dev

按行的中位数对2D numpy数组排序

来自分类Dev

使用Java比较器对2d数组进行排序

来自分类Dev

Google Script按任何列对2D数组排序

来自分类Dev

按字典顺序排序2d numpy数组

来自分类Dev

在Java 2D排序字符串数组与冒泡