程序开发 · 2024年8月20日

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

当前位置: > > > > 对切​​片内的整数切片进行排序

来源:stackoverflow
2024-04-28 11:33:29
0浏览
收藏

大家好,我们又见面了啊~本文《对切​​片内的整数切片进行排序》的内容中将会涉及到等等。如果你正在学习Golang相关知识,欢迎关注我,以后会给大家带来更多Golang相关文章,希望我们能一起进步!下面就开始本文的正式内容~

问题内容

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

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

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

解决方案

您所需要的只是使用排序包中的 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。

好了,本文到此结束,带大家了解了《对切​​片内的整数切片进行排序》,希望本文对你有所帮助!关注公众号,给大家分享更多Golang知识!