golang之切片与排序

1.排序与查找操作

排序操作在sort包中,sort.Ints对整数进行排序,sort.Strings对字符串进行排序,sort.Float64对浮点数进行排序

package main

import (
    "fmt"
    "sort"
)

func testIntSort() {
    var a = [...]int{1, 8, 38, 2, 348, 484}
    //数组是值类型,不能直接排序,必须转为切片
    sort.Ints(a[:])
    fmt.Println(a)
}
func testStrings() {
    var a = [...]string{"abc", "efg", "b", "A", "eeee"}
    //按照字母顺序排序,从小到大
    sort.Strings(a[:])
    fmt.Println(a)
}

func testFloat() {
    var a = [...]float64{2.3, 0.8, 28.2, 392342.2, 0, 6}
    //从小到大排序
    sort.Float64s(a[:])
    fmt.Println(a)
}
func testIntSearch() {
    var a = [...]int{1, 8, 38, 2, 348, 484}
    //数组是值类型,不能直接排序,必须转为切片
    sort.Ints(a[:])
    //SearchInts默认排序后的位置,一定要排序后在查找
    index:=sort.SearchInts(a[:],348)

    fmt.Println(index)
}

func main() {
    testIntSort()
    testStrings()
    testFloat()
    testIntSearch()
}

 

posted @ 2018-01-02 22:27  py鱼  阅读(11413)  评论(0编辑  收藏  举报
点我回主页