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!