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.
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