Go中用sort對自定義資料型別的排序

2021-10-23 01:59:33 字數 1503 閱讀 7054

部落格 一文讓你學會go中sort包的使用 中介紹了go中對整數、浮點數、字串三種資料型別的切片排序。那麼本文將介紹自定義資料型別的資料如何利用 sort 包中的sort.sort(data sort.inte***ce) 函式 進行排序。

首先先自定義乙個資料型別

type student struct

給自定義資料型別的切片起乙個別名

type studentslice [

]student

重寫len、less、swap函式

func

(s studentslice)

len(

)int

func

(s studentslice)

swap

(i, j int

)func

(s studentslice)

less

(i, j int

)bool

利用sort.sort(data sort.inte***ce)對自定義資料型別的切片資料進行排序。

var s studentslice

sort.

sort

(s)

本示例的完整**如下:

package main

import

("fmt"

"sort"

)/*1.自定義資料型別*/

type student struct

/*2.給自定義資料型別的切片起別名*/

type studentslice [

]student

/*3.重寫len、less、swap函式*/

func

(s studentslice)

len(

)int

func

(s studentslice)

swap

(i, j int

)func

(s studentslice)

less

(i, j int

)bool

func

main()

s =(s, stu1)

stu2 := student

s =(s, stu2)

stu3 := student

s =(s, stu3)

fmt.

println

("排序前 :"

, s)

sort.

sort

(s) fmt.

println

("排序後 :"

, s)

}

實驗結果為:

自定義對結構體排序(sort)

大家都知道,快速排序是不穩定的排序方法。如果對於陣列 現的任意a i a j iinput 本題目包含多組輸入,請處理到檔案結束。對於每組資料,第一行有乙個正整數n 0output 對於每組資料,如果演算法是正確並且穩定的,就在一行裡面輸出 right 如果演算法是正確的但不是穩定的,就在一行裡面輸...

sort自定義排序

1.sort介紹 用於c 中,對給定區間所有元素進行排序。使用的排序方法類似於快排的方法,時間複雜度為n log2 n 執行效率較高 標頭檔案 include algorithm 2.sort使用方法 sort函式有3個引數,sort first,last,cmp 其中,first是元素的起始位址,...

sort自定義排序

參考 例 大整數排序。對n個長度最長可達到1000的數進行排序。輸入第一行為乙個整數n,1 n 100 接下來的n行每行有乙個數,數的長度範圍為1 len 1000。每個數都是乙個正數,並且保證不包含字首零。include include include include using namespac...