Das Sortieren eines mehrdimensionalen Arrays kann in Go erreicht werden, indem manuell definiert wird, wie die Sortierung erfolgen soll. Es können zwei Ansätze gewählt werden:
1. Implementieren der Schnittstelle „sort.Sort“:
Erstellen Sie benutzerdefinierte Methoden für Len, Less und Swap zur Verwendung mit sort.Sort, sodass Sie die Array-Werte während der Sortierung ändern können. Zum Beispiel:
type Matrix [3][3]int func (m Matrix) Len() int { return len(m) } func (m Matrix) Less(i, j int) bool { for x := range m[i] { if m[i][x] == m[j][x] { continue } return m[i][x] < m[j][x] } return false } func (m *Matrix) Swap(i, j int) { m[i], m[j] = m[j], m[i] } func main() { m := Matrix(matrix) sort.Sort(&m) }
2. Verwenden der Funktion sort.Slice:
Konvertieren Sie das Array in ein Slice und stellen Sie eine vergleichbare Funktion für sort.Slice bereit, um die Sortierung durchzuführen. Zum Beispiel:
sort.Slice(matrix[:], func(i, j int) bool { for x := range matrix[i] { if matrix[i][x] == matrix[j][x] { continue } return matrix[i][x] < matrix[j][x] } return false }) fmt.Println(matrix)
Mit beiden Ansätzen können Sie das Sortierverhalten Ihres zweidimensionalen Arrays in Go anpassen.
Das obige ist der detaillierte Inhalt vonWie kann ich ein 2D-Array in Go sortieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!