Maison > développement back-end > Golang > Comment trier une Go Map par ses valeurs entières ?

Comment trier une Go Map par ses valeurs entières ?

Susan Sarandon
Libérer: 2024-12-30 07:28:09
original
727 Les gens l'ont consulté

How to Sort a Go Map by its Integer Values?

Tri d'une carte par valeur dans Go

Étant donné une carte avec des clés de chaîne et des valeurs entières, nous pouvons rencontrer le besoin de trier la carte par ses valeurs dans un ordre précis. Ce didacticiel présente une solution à cette tâche de programmation courante.

Solution

Une approche pour trier une carte par valeur dans Go consiste à créer une structure de données personnalisée qui implémente le trier.Interface. Cette interface définit les méthodes Len, Less et Swap, qui sont utilisées par les algorithmes de tri de Go pour déterminer l'ordre des éléments.

Voici un exemple de bloc de code qui démontre l'implémentation :

// RankByWordCount sorts a map[string]int by its values in descending order.
func rankByWordCount(wordFrequencies map[string]int) PairList {
  pl := make(PairList, len(wordFrequencies))
  i := 0
  for k, v := range wordFrequencies {
    pl[i] = Pair{k, v}
    i++
  }
  sort.Sort(sort.Reverse(pl))
  return pl
}

// Pair represents a key-value pair.
type Pair struct {
  Key string
  Value int
}

// PairList is a list of Pair.
type PairList []Pair

// Len returns the length of the PairList.
func (p PairList) Len() int { return len(p) }

// Less compares two Pair and returns true if the first one should be
// placed after the second one in the sorted list.
func (p PairList) Less(i, j int) bool { return p[i].Value < p[j].Value }

// Swap swaps two elements in the PairList.
func (p PairList) Swap(i, j int){ p[i], p[j] = p[j], p[i] }
Copier après la connexion

Dans le code fourni, RankByWordCount prend un map[string]int comme entrée et crée une PairList qui contient des paires clé-valeur triées par ordre décroissant en fonction du valeurs. Il utilise les algorithmes de tri intégrés de Go pour effectuer le tri.

Pour utiliser cette fonction, vous pouvez fournir votre carte en entrée et obtenir une PairList de paires clé-valeur triées.

N'oubliez pas pour importer le package de tri dans votre code pour utiliser ces fonctions de tri efficacement.

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal