vb

vb二维数组怎么从小到大排序

小亿
270
2023-10-12 05:08:47
栏目: 编程语言

要对一个二维数组进行从小到大的排序,可以使用 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 进行排序,并输出排序后的结果。

0
看了该问题的人还看了