"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Comment puis-je trier un tableau 2D en Go?

Comment puis-je trier un tableau 2D en Go?

Publié le 2025-02-26
Parcourir:877

How Can I Sort a 2D Array in Go?

Triant un tableau bidimensionnel dans Go

tri Un tableau multidimensionnel peut être réalisé en Go en définissant manuellement la façon dont vous voulez que le tri se produise. Deux approches peuvent être adoptées:

1. Implémentation de l'interface tri.sort:

Créer des méthodes personnalisées pour Len, moins et échanger à utiliser avec tri.sort, vous permettant de modifier les valeurs du tableau pendant le tri. Par exemple:

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. Utilisation de la fonction tri.slice:

Convertissez le tableau en une tranche et fournissez une fonction comparable pour que Sort.slice gère le tri. Par exemple:

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]  

Les deux approches vous permettent de personnaliser le comportement de tri de votre tableau bidimensionnel dans Go.

Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3