我是 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(使用前将#替换为@)