c++ - 传递一列二维数组

标签 c++ c multidimensional-array

假设我有一个 2D 数组,我想将它的第 i 列传递给一个 sort 函数,它接收一个 1D array 并对其进行排序。 如果不将列复制到另一个 C/C++ 语言的 array 是否可以完成。我担心减少使用的时间和空间。 (当然,复杂性保持不变)

最佳答案

我想您所说的 sort 是指来自 STL 的 std::sort,它采用随机访问迭代器。因此,您需要做的就是提供列迭代器。

您可以自己实现一个 (example),使用一些迭代器库(即 Boost.Iterator)或使用一些提供行/列迭代器的矩阵实现。

关于c++ - 传递一列二维数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22036496/

相关文章:

c - 在c中打印一个二维字符串数组

arrays - Kotlin 中二维数组的展平迭代器

c++ - delete this + memmove(this,new A(),sizeof(A)) 安全吗?这是一个坏主意吗?

C : Debugging & Run - Different Output

在 C 中用 long double 计算 pi

c - MSXML 内存处理中的问题

python - 如何从带标题的文件中获取整数的 numpy ndarray?

c++ - 开源 C++ 数据可视化库

c++ - 选择 3D 游戏引擎

对于参数 ‘sender’ 到 ‘void*’,C++ 无法将 ‘1’ 转换为 ‘void* sending(void*)’