★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
➤微信公眾號:山青詠芝(shanqingyongzhi)
➤博客園地址:山青詠芝(https://www.cnblogs.com/strengthen/ )
➤GitHub地址:https://github.com/strengthen/LeetCode
➤原文地址:https://www.cnblogs.com/strengthen/p/9791288.html
➤如果鏈接不是山青詠芝的博客園地址,則可能是爬取作者的文章。
➤原文已修改更新!強烈建議點擊原文地址閱讀!支持作者!支持原創!
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
sorted只返回一個數組的有序版本,不修改原數組。
sort無返回值,只會修改原數組。
定義一個需要排序的數組,其包含元素。示例只初始化一個Int數組。
var arr:[Int] = [Int]()
最簡數組排序方法
//升序
arr = arr.sorted(by:<)
//降序
arr = arr.sorted(by:>)
自定義升序排序方法
1 func sortArray(num1: Int, num2: Int) -> Bool 2 { 3 return num1 < num2 4 }
數組調用方法
1 //方式1 2 arr.sort(by: sortArray) 3 //方式2 4 arr.sort(by: {(num1: Int, num2: Int) -> Bool in return num1 < num2 })
閉包可以不指定參數類型,編譯器會進行判斷
arr.sort(by: {(num1, num2) in return num1 < num2})
可以省略參數名,直接根據閉包來引用參數
arr.sort(by: {return $0 < $1})
如果閉包只包含一行語句,可以省略return關鍵字
arr.sort(by: {$0 < $1})
如果閉包是函數的最后一個參數,可以將閉包直接放在小括號外面的大括號里。換行也是可選的。
arr.sort(){$0 < $1}
甚至可以省略閉包,得最簡形式
arr = arr.sorted(by:<)
sorted()無參數時默認為升序排序。
Swift的Set
類型沒有定義的順序。
要以特定順序迭代集合的值,請使用該sorted()
方法,該方法將集合的元素作為使用<
運算符排序的數組返回。
1 for genre in favoriteGenres.sorted() { 2 print("\(genre)") 3 } 4 // Classical 5 // Hip hop 6 // Jazz