阅读量:0
要对一个二维数组进行从小到大的排序,可以使用 Array.Sort 方法进行排序。但是由于排序的是二维数组,需要定义一个自定义的比较器来指定排序规则。以下是一个示例代码:
Sub Main() Dim arr(,) As Integer = {{3, 4}, {1, 2}, {5, 6}, {2, 3}, {4, 5}} ' 使用自定义的比较器进行排序 Array.Sort(arr, New TwoDimensionalArrayComparer()) ' 输出排序后的二维数组 For i As Integer = 0 To arr.GetUpperBound(0) For j As Integer = 0 To arr.GetUpperBound(1) Console.Write(arr(i, j) & " ") Next Console.WriteLine() Next End Sub ' 定义一个自定义的比较器 Public Class TwoDimensionalArrayComparer Implements IComparer Public Function Compare(x As Object, y As Object) As Integer Implements IComparer.Compare Dim arr1 As Integer() = DirectCast(x, Integer()) Dim arr2 As Integer() = DirectCast(y, Integer()) ' 按照第一个元素进行比较,如果相等则按照第二个元素进行比较 If arr1(0) <> arr2(0) Then Return arr1(0).CompareTo(arr2(0)) Else Return arr1(1).CompareTo(arr2(1)) End If End Function End Class
上述代码会对二维数组 arr
进行排序,并输出排序后的结果。