前言
刷题中遇到一个问题,就是要对二维数组。当然可以自己手写二维数组的排序算法,但是面对算法题,重点并在排序,为了省省排序的心思,一般会想到用 Array.Sort()
来对数组进行排序。可惜,我百度了半天都没找到,于是试了试,还是写出来了,下面贴出来。
代码
(杀鸡用宰牛刀式的文字布局,得好好反省反省了)
// 泛型 是个很好的选择,也是我的习惯问题
// 使用了 lambda 语句;
// 这里 x,y参数对应的就是需要比较的一维数组,那么这样就可以调用CompareTo方法
// (数组 Array 并没有实现 IComparer,所以对数组无法直接使用 CompareTo 方法,
// 但是其中的值 int 类型(或者基元类型)是实现了IComparer)
// x[0].CompareTo(y[0]) 表示我以二维数组每个一维数组的第一个数为比较的基准
Array.Sort<int[]>(nums, (x, y) => x[0].CompareTo(y[0]));
发现还是挺简单的。