Maison >développement back-end >Golang >Comment inverser le tri d'une tranche entière en Go ?

Comment inverser le tri d'une tranche entière en Go ?

Linda Hamilton
Linda Hamiltonoriginal
2024-11-15 10:58:02350parcourir

How to Reverse-Sort an Integer Slice in Go?

Tri inverse d'une tranche d'entiers dans Go

Dans Go, vous pourriez rencontrer le besoin de trier une tranche d'entiers par ordre décroissant ( du plus haut au plus bas). Bien que la fonction sort.Ints offre un moyen simple de trier les valeurs par ordre croissant, elle n'offre pas d'option de tri inversé.

Pour réaliser un tri inversé, vous avez essayé par erreur d'utiliser sort.Sort(sort.Reverse (sort.Ints(keys))) en conjonction avec la fonction sort.Reverse. Cependant, sort.Ints est conçu pour être utilisé directement avec la fonction de tri sur les tableaux int, et essayer de l'utiliser comme valeur dans sort.Sort entraîne une erreur de compilation.

La solution réside dans l'utilisation du IntSlice prédéfini. type fourni par le package sort, qui implémente l’interface sort.Interface. Ce type vous permet de mettre en œuvre des stratégies de tri personnalisées, y compris le tri inversé.

Exemple :

keys := []int{3, 2, 8, 1}
sort.Sort(sort.Reverse(sort.IntSlice(keys)))
fmt.Println(keys) // Output: [8 3 2 1]

En utilisant sort.IntSlice et son implémentation Reverse, vous pouvez efficacement triez à l'envers votre tranche d'entiers dans Go.

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