二次元配列を昇順に並べ替えるには
配列の二次元配列を昇順にソートするには、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を2次元でソートして、ソートした結果を出力するコードです。