当前位置: 首页 > 面试题库 >

如何对整数Go的切片进行反向排序?

商风华
2023-03-14
问题内容

我正在尝试对Go中的整数切片进行反向排序。

  example := []int{1,25,3,5,4}
  sort.Ints(example) // this will give me a slice sorted from 1 to the highest number

如何对它进行排序,使其从最高到最低?所以[25 5 4 3 1]

我已经试过了

sort.Sort(sort.Reverse(sort.Ints(keys)))

资料来源:http :
//golang.org/pkg/sort/#Reverse

但是,我得到下面的错误

# command-line-arguments
./Roman_Numerals.go:31: sort.Ints(keys) used as value

问题答案:

sort.Ints是对几个int进行排序的便捷函数。通常,如果要对某些内容进行排序和排序,则需要实现sort.Interface接口.Reverse只是返回该接口的另一种实现,该实现重新定义了Less方法

幸运的是,sort程序包包含一个称为IntSlice的预定义类型,该类型实现了sort.Interface:

keys := []int{3, 2, 8, 1}
sort.Sort(sort.Reverse(sort.IntSlice(keys)))
fmt.Println(keys)


 类似资料:
  • 问题内容: 我使用以下行以相反的顺序对浮点数组进行排序,但出现错误消息,这是什么问题? 错误:找不到符号 符号:方法sort(float [],java.util.Comparator)位置:类java.util.Arrays Arrays.sort(sortedData,Collections.reverseOrder()); ==================================

  • 我想像下面这样对流进行反向排序,但是编译时错误为。有人能纠正这个吗

  • 问题内容: 如何在Go中反转任意切片()?我宁愿不必编写和使用。有没有简单的内置方法来做到这一点? 问题答案: 没有一个简单的,内置的用于反转接口{}的部分。您可以编写一个for循环来做到这一点: Go 1.8中引入的reflect.Swapper函数可用于编写通用的反转函数: 游乐场的例子

  • 我有这个列表,我想按保留顺序订购,但我没有在自动完成辅助中找到任何函数 我也尝试过: 但是我有编译错误:

  • 所以我遇到了这个方法,它能够按值对HashMaps进行排序。 我想在比较器上使用方法,但是我似乎找不到合适的地方放它。

  • 我有一个字符串数组,由整数作为键标识。我想按键对这个HashMap进行排序。