"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > ¿Cómo puedo ordenar una matriz 2D en Go?

¿Cómo puedo ordenar una matriz 2D en Go?

Publicado el 2025-02-26
Navegar:538

How Can I Sort a 2D Array in Go?

que clasifica una matriz bidimensional en Go

que se puede lograr una matriz multidimensional en la definición manual de cómo desea que ocurra la clasificación. Se pueden tomar dos enfoques:

1. Implementación de la interfaz sort.sort:

Crear métodos personalizados para len, menos e intercambiar para usar con sort.sort, habilitándole modificar los valores de la matriz durante la clasificación. Por ejemplo:

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]  

2. Usando la función sort.slice:

Convierta la matriz en una porción y proporcione una función comparable para sort.slice para manejar la clasificación. Por ejemplo:

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]  

ambos enfoques le permiten personalizar el comportamiento de clasificación de su matriz bidimensional en Go.

Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3