Maison > Article > développement back-end > Comment inverser le tri d'une tranche d'entiers dans Go ?
Comment inverser le tri d'une tranche d'entiers dans Go
Dans Go, vous pouvez rencontrer le besoin de trier inversement une tranche d'entiers nombres entiers, où le nombre le plus élevé est répertorié en premier. Ceci est différent du comportement de tri par défaut, qui trie du plus bas au plus élevé.
Pour réaliser un tri inversé, vous ne pouvez pas simplement combiner sort.Ints et sort.Reverse. L'utilisation de sort.Ints crée une fonction pratique pour trier quelques entiers, tandis que sort.Reverse attend un type qui implémente l'interface sort.Interface. Cependant, le package de tri fournit un type prédéfini appelé IntSlice qui résout ce problème :
Solution :
keys := []int{3, 2, 8, 1} sort.Sort(sort.Reverse(sort.IntSlice(keys))) fmt.Println(keys) // Output: [8 3 2 1]
IntSlice est une tranche d'entiers qui implémente le tri.Interface , ce qui signifie qu'il peut être trié par sa méthode Less. sort.Reverse crée un nouveau type qui inverse l'ordre de Less, fournissant ainsi un tri inversé.
Cette méthode vous permet de trier efficacement des tranches d'entiers sans avoir besoin d'algorithmes de tri personnalisés ou d'interfaces compliquées.
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!