golang二维数组或者切片排序

package main

import (
	"fmt"
	"sort"
)

func main() {
	arr:=[][]int{{1,2},{5,7},{5,6},{3,4},{4,6}}
	sort.Slice(arr, func(i, j int) bool {// 从小到大排序,如果第一个数相等,则按从小到大排序
		if arr[i][0]==arr[j][0]{
			return arr[i][1]<arr[j][1]
		}
		return arr[i][0]<arr[j][0] 
	})
	fmt.Println(arr)
	sort.Slice(arr, func(i, j int) bool {// 从大到小排序,如果第一个数相等,则按从小到大排序
		if arr[i][0]==arr[j][0]{
			return arr[i][1]<arr[j][1]
		}
		return arr[i][0]>arr[j][0]
	})
	fmt.Println(arr)
}

你可能感兴趣的:(golang,算法,数据结构)