关于二维数组的排序问题,如果是行排列(就是只对每一行排列).那么就写两个for循环,
外层循环是二维数组的行数,内层循环操纵的是二维数组的每一列.然后用冒泡或者选择排序来排列每一行.
如果是把二维数组看成一整个数组来排列.
大家都知道,二维数组只是大家形象上的想象而已,实际上二维数组并不存在,比如我定义一个arr[3][5].
名叫arr的3行5列的数组,内存中会直接划出int类型(占用4个字节数) * (行*列)的一块空间来存放这个二维数组.
我们可以把上面的那个二维数组理解为一个含有三个元素的一维数组,而且每一个元素又是一个一维数组,
这三个元素的每一个元素中又含有5个元素,我们发现,可以通过arr[0][行 * 列 + 列数]这样以一维数组的方式来访问
二维数组arr[行][列]的值.
这样我们可以把二维数组的排序问题转化为一维数组的排序问题.
还有一种是通过指针来写的.前面讲了二维数组在内存中间也是一片连续的空间,通过定义一个相同类型的指针变量指向二维数组第一个元素
这样也是可以的.