[問題] Sort的演算法是什麼?

看板C_Sharp (C#)作者 (asdfgh)時間9年前 (2016/02/17 17:56), 編輯推噓2(2013)
留言15則, 6人參與, 最新討論串1/1
想問list或是array的Sort()裡的演算法是哪一種? 因為看msdn只說是default也沒有原始碼 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.96.185.163 ※ 文章網址: https://www.ptt.cc/bbs/C_Sharp/M.1455702995.A.E85.html

02/17 18:03, , 1F
你msdn沒仔細看,上面是寫用default的Comparer
02/17 18:03, 1F

02/17 18:09, , 2F
備註有寫用的演算法,基本上是quicksort
02/17 18:09, 2F

02/17 19:49, , 3F

02/17 19:58, , 4F
應該是introsort----改良版的quicksort
02/17 19:58, 4F

02/17 23:06, , 5F
http://goo.gl/v7ecsy 原始碼不是公開了嗎XD
02/17 23:06, 5F

02/20 11:03, , 6F
我想很難不用quick,其他算法要是你sort多一點就GG了
02/20 11:03, 6F

02/21 20:37, , 7F
QuickSort是整個 .NET framework 中最常用的排序演算法
02/21 20:37, 7F

02/21 20:38, , 8F
不只List和Array LINQ的OrderBy也是用它
02/21 20:38, 8F

02/21 20:40, , 9F
畢竟它又快又穩
02/21 20:40, 9F

02/21 21:56, , 10F
不對喔,Sort本身不是穩定(stable)的,但OrderBy是。
02/21 21:56, 10F

02/21 21:57, , 11F
如果你的穩不是這個穩的話,那當我沒說
02/21 21:57, 11F

02/22 09:00, , 12F
他應該不是說worst case複雜度的穩,而是平均表現得穩
02/22 09:00, 12F

02/22 09:01, , 13F
畢竟你很難真的遇到很random排的data
02/22 09:01, 13F

02/22 17:31, , 14F
抱歉我說的也不是這種穩定
02/22 17:31, 14F

02/22 17:32, , 15F
02/22 17:32, 15F
文章代碼(AID): #1Mn4FJw5 (C_Sharp)
文章代碼(AID): #1Mn4FJw5 (C_Sharp)