Maison  >  Article  >  développement back-end  >  Trier inversé les tranches à l'aide de la fonction sort.Reverse

Trier inversé les tranches à l'aide de la fonction sort.Reverse

WBOY
WBOYoriginal
2023-07-24 18:53:141791parcourir

Utilisez la fonction sort.Reverse pour trier inversement la tranche

Dans le langage Go, une tranche est une structure de données importante qui peut augmenter ou diminuer dynamiquement le nombre d'éléments. Lorsque nous devons trier des tranches, nous pouvons utiliser les fonctions fournies par le package sort pour effectuer des opérations de tri. Parmi eux, la fonction sort.Reverse peut nous aider à trier inversement les tranches.

La fonction sort.Reverse est une fonction du package sort. Elle accepte un paramètre de type d'interface sort.Interface et renvoie un nouvel objet de type sort.Interface, qui sera trié par ordre décroissant lors du tri.

Ce qui suit est un exemple simple qui montre comment utiliser la fonction sort.Reverse pour trier inversement une tranche :

package main

import (
    "fmt"
    "sort"
)

type Person struct {
    Name string
    Age  int
}

type ByAge []Person

func (a ByAge) Len() int {
    return len(a)
}

func (a ByAge) Swap(i, j int) {
    a[i], a[j] = a[j], a[i]
}

func (a ByAge) Less(i, j int) bool {
    return a[i].Age < a[j].Age
}

func main() {
    people := []Person{
        {"Alice", 25},
        {"Bob", 30},
        {"Charlie", 20},
        {"David", 35},
    }

    fmt.Println("Before reverse sorting:")
    for _, person := range people {
        fmt.Println(person)
    }

    sort.Sort(sort.Reverse(ByAge(people)))

    fmt.Println("
After reverse sorting:")
    for _, person := range people {
        fmt.Println(person)
    }
}

Dans cet exemple, nous définissons une structure Person et un type ByAge. Le type ByAge implémente trois méthodes de l'interface sort.Interface : Len, Swap et Less. La méthode Len renvoie la longueur de la tranche ; la méthode Swap échange deux éléments dans la tranche ; la méthode Less trie par ordre croissant en fonction de l'âge de la personne.

Dans la fonction principale, nous créons une tranche people contenant plusieurs objets Person et passons la tranche à la fonction sort.Sort pour le tri. Utilisez sort.Reverse(ByAge(people)) dans la fonction sort.Sort pour inverser le tri des tranches.

Enfin, nous affichons le contenu des tranches avant et après le tri, et vous pouvez voir que les tranches triées sont classées par ordre décroissant d'âge.

En résumé, la fonction sort.Reverse est une fonction très pratique dans le langage Go, qui peut nous aider à inverser les tranches de tri. En implémentant les méthodes Len, Swap et Less de l'interface sort.Interface, nous pouvons personnaliser les règles de tri. L'utilisation de la fonction sort.Reverse permet de mettre en œuvre plus simplement et plus rapidement l'opération de tri inversé sur les tranches, améliorant ainsi l'efficacité du développement.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn