作者lunashining (asdfgh)
看板C_Sharp
标题[问题] Sort的演算法是什麽?
时间Wed Feb 17 17:56:33 2016
想问list或是array的Sort()里的演算法是哪一种?
因为看msdn只说是default也没有原始码
谢谢
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 140.96.185.163
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/C_Sharp/M.1455702995.A.E85.html
1F:→ ssccg: 你msdn没仔细看,上面是写用default的Comparer 02/17 18:03
2F:→ ssccg: 备注有写用的演算法,基本上是quicksort 02/17 18:09
4F:→ Litfal: 应该是introsort----改良版的quicksort 02/17 19:58
6F:推 JackBaska: 我想很难不用quick,其他算法要是你sort多一点就GG了 02/20 11:03
7F:→ remmurds: QuickSort是整个 .NET framework 中最常用的排序演算法 02/21 20:37
8F:→ remmurds: 不只List和Array LINQ的OrderBy也是用它 02/21 20:38
9F:→ remmurds: 毕竟它又快又稳 02/21 20:40
10F:→ Litfal: 不对喔,Sort本身不是稳定(stable)的,但OrderBy是。 02/21 21:56
11F:→ Litfal: 如果你的稳不是这个稳的话,那当我没说 02/21 21:57
12F:推 JackBaska: 他应该不是说worst case复杂度的稳,而是平均表现得稳 02/22 09:00
13F:→ JackBaska: 毕竟你很难真的遇到很random排的data 02/22 09:01
14F:→ Litfal: 抱歉我说的也不是这种稳定 02/22 17:31