二维数组的线性排序

2024-03-03

我是 C 编程新手,正在尝试编写一些排序程序。我编写了线性/正常排序的程序。

现在我想做一个程序来对二维数组进行排序。 即如果矩阵是

4  6  1
3  2  9
5  7  8

那么结果应该是

1  2  3
4  5  6
7  8  9

由于您希望 2D 数组按行排序(这恰好是多维数组在 C 中存储的顺序),因此您可以假装它是 1D 数组并以这种方式对其进行排序。

假设你有一个函数void sort(int[], int size);它需要一个指向一维数组的第一个元素及其大小的指针,你可以这样做

int a[3][3] = {{4,6,1}, {3,2,9}, {5,7,8}};
sort(&a[0][0], 9);

当然,这仅适用于真正的 2D 数组,不适用于指针数组,而指针数组通常是在 C 中实现动态分配的 2D 数组的方式。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

二维数组的线性排序 的相关文章

随机推荐