Rumah > pembangunan bahagian belakang > Golang > Bagaimana untuk Isih Peta Go mengikut Nilai Integernya?

Bagaimana untuk Isih Peta Go mengikut Nilai Integernya?

Susan Sarandon
Lepaskan: 2024-12-30 07:28:09
asal
727 orang telah melayarinya

How to Sort a Go Map by its Integer Values?

Mengisih Peta mengikut Nilai dalam Go

Memandangkan peta dengan kunci rentetan dan nilai integer, kami mungkin menghadapi keperluan untuk mengisih peta mengikut nilainya dalam susunan tertentu. Tutorial ini menggariskan penyelesaian kepada tugas pengaturcaraan biasa ini.

Penyelesaian

Satu pendekatan untuk mengisih peta mengikut nilai dalam Go ialah mencipta struktur data tersuai yang melaksanakan sort.Antaramuka. Antara muka ini mentakrifkan kaedah Len, Less dan Swap, yang digunakan oleh algoritma pengisihan Go untuk menentukan susunan elemen.

Berikut ialah contoh blok kod yang menunjukkan pelaksanaan:

// 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] }
Salin selepas log masuk

Dalam kod yang disediakan, rankByWordCount mengambil peta[rentetan]int sebagai input dan mencipta PairList yang mengandungi pasangan nilai kunci yang diisih dalam tertib menurun berdasarkan nilai. Ia menggunakan algoritma pengisihan terbina dalam Go untuk melaksanakan pengisihan.

Untuk menggunakan fungsi ini, anda boleh memberikan peta anda sebagai input dan mendapatkan PairList pasangan nilai kunci yang diisih.

Ingat untuk mengimport pakej isihan dalam kod anda untuk menggunakan fungsi isihan ini dengan berkesan.

Atas ialah kandungan terperinci Bagaimana untuk Isih Peta Go mengikut Nilai Integernya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan