美文网首页Go知识库
使用sort包相关方法实现排序和逆序

使用sort包相关方法实现排序和逆序

作者: 波涛澎湃 | 来源:发表于2019-03-15 21:14 被阅读1次

只要结构体(集合)实现了Less、Swap、Len三个方法即可使用sort包相关方法实现排序等操作。
代码如下:


import (
    "fmt"
    "sort"
)

type student struct{
    name string
    age int
}
type stuSlice []student

func (s stuSlice)Len()int{
    return len(s)
}
func (s stuSlice)Less(i,j int)bool{
    return s[i].age<s[j].age
}
func (s stuSlice)Swap(i,j int){
    s[i],s[j] = s[j],s[i]
}


func main(){
    s:=stuSlice{}
    s = append(s,student{name:"xiaohong",age:29})
    s = append(s,student{name:"zhangsan3",age:18})
    s = append(s,student{name:"zhangsan",age:14})
    s = append(s,student{name:"zhangsan2",age:17})
    sort.Sort(s)
    fmt.Println("排序后结果:",s)
    sort.Sort(sort.Reverse(s))
    fmt.Println("逆序后结果:",s)
}

相关文章

  • 使用sort包相关方法实现排序和逆序

    只要结构体(集合)实现了Less、Swap、Len三个方法即可使用sort包相关方法实现排序等操作。代码如下:

  • golang标准库中的sort包

    一、sort包的内容,以及使用sort包提供了排序切片和用户自定义数据集以及相关功能的函数。 sort包主要针对[...

  • pandas高级特性

    1.pandas排序 按标签排序使用sort_index方法实现按标签排序 sort_index方法默认升序排序,...

  • golang标准库之sort

    简介 标准库sort实现了4种排序方法,插入排序、堆排序、快排和归并排序,但是并没有暴露给用户接口。sort包会根...

  • Swift开发--Sorted方法

    1.使用sort方法和闭包进行数组排序 sort方法返回一个数组的有序版本。(sort方法即为Swift2.0之前...

  • js排序总结

    用sort()方法实现数字英文排序,用localeCompare()方法实现中文排序。 一、定义 sort():用...

  • 数组排序之优雅的compare函数

    JavaScript数组排序,默认支持两种:sort()排序和reverse()逆序。 reverse() rev...

  • MongoDB 排序

    MongoDB sort()方法 在MongoDB中使用使用sort()方法对数据进行排序,sort()方法可以通...

  • MongoDB Triks

    1. MongoDB sort()方法 在MongoDB中使用使用sort()方法对数据进行排序,sort()方法...

  • 百度地图Android SQLITE在本地如何实现按距离排序、范

    在Android客户端上实现按距离排序,需要使用javase数组工具类和集合工具类中提供的sort方法,sort就...

网友评论

    本文标题:使用sort包相关方法实现排序和逆序

    本文链接:https://www.haomeiwen.com/subject/hhhdmqtx.html