Go で整数のスライスを逆ソートする方法
Go では、整数のスライスを逆ソートする必要がある場合があります。整数。最大の数値が最初にリストされます。これは、最低値から最高値へソートするデフォルトのソート動作とは異なります。
逆ソートを実現するには、sort.Ints と sort.Reverse を単純に組み合わせるだけでは済みません。 sort.Ints を使用すると、いくつかの int をソートするための便利な関数が作成されますが、sort.Reverse は sort.Interface インターフェイスを実装する型を期待します。ただし、sort パッケージは、この問題を解決する IntSlice という定義済み型を提供します。
解決策:
keys := []int{3, 2, 8, 1} sort.Sort(sort.Reverse(sort.IntSlice(keys))) fmt.Println(keys) // Output: [8 3 2 1]
IntSlice は、sort.Interface を実装する整数のスライスです。つまり、Less メソッドで並べ替えることができます。 sort.Reverse は、Less の順序を逆にする新しい型を作成し、逆ソートを効果的に提供します。
このメソッドを使用すると、カスタムのソート アルゴリズムや複雑なインターフェイスを必要とせずに、整数のスライスを効率的に逆ソートできます。
以上がGo で整数のスライスを逆ソートする方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。