go - 对切​​片内的整数 slice 进行排序

标签 go slice

<分区>

我正在尝试对 slice 内的 int slice 进行排序,例如:

slices := make([][]int32, 0)
slices = append(slices, []int32{10,22})
slices = append(slices, []int32{13,22})
slices = append(slices, []int32{12,22})
// [[10 22] [13 22] [12 22]]
// to become 
// [[10 22] [12 22] [13 22]] (ascending)
// *by the first element in slice

我对此一无所知,但我正在考虑在检查后追加和前置

最佳答案

您只需要使用 sort 包中的 Slice

package main

import (
    "fmt"
    "sort"
)
func main() {
    a := [][]int{[]int{10,3}, []int{5,12}, []int{5, 3}, []int{1,1}}
    fmt.Printf("before: %v\n", a)
    sort.Slice(a, func(i,j int) bool{ return a[i][0] < a[j][0]})
    fmt.Printf("after: %v\n", a)
}

为了稳定排序的使用,请改用 sort.SliceStable。

关于go - 对切​​片内的整数 slice 进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54758108/

相关文章:

pointers - 函数指针参数变化

sql - 将行扫描成 slice

html - 去使用下拉值

javascript - 由于飞行前获取答案为空?

go - 获取已知结构字段的名称

function - 指向函数参数中接口(interface) slice 的指针

python - 为什么 .loc 对切片具有包容性行为?

go - 计算 sha256 在附加 slice 后会给出不同的结果,具体取决于我之前是否打印出 slice

python - 如何在 Python 中获取列表的最后一项?

arrays - 创建根据输入 slice 参数执行不同操作的函数