go切片正逆排序

2022-11-07  本文已影响0人  小王同学123321
package main

import (
   "fmt"
   "sort"
)

func main(){
   aslice:=[]int{3,7,9,4,5,6,2}
   // 正序1:
   sort.Ints(aslice)
   fmt.Println(aslice)
   // 正序2:
   sort.Slice(aslice, func(i, j int) bool {
      return aslice[i] < aslice[j]
   })
   fmt.Println(aslice)

   // 倒序1:
   sort.Sort(sort.Reverse(sort.IntSlice(aslice)))
   fmt.Println(aslice)
   // 倒序2:
   sort.Slice(aslice, func(i, j int) bool {
      return aslice[i] > aslice[j]
   })
   fmt.Println(aslice)



   var kArray = []string{"apt", "src", "fmt", "zoo", "amd", "yes"}
   // 正序1:
   sort.Strings(kArray)
   fmt.Println("正序:", kArray)
   // 正序2:
   sort.Slice(kArray, func(i, j int) bool {
      return kArray[i] < kArray[j]
   })
   fmt.Println("逆序:", kArray)


   // 倒序1:
   sort.Slice(kArray, func(i, j int) bool {
      return kArray[i] > kArray[j]
   })
   fmt.Println("逆序:", kArray)
   // 倒序2:
   sort.Sort(sort.Reverse(sort.StringSlice(kArray)))
   fmt.Println("逆序:", kArray)

}
上一篇 下一篇

猜你喜欢

热点阅读