2012-04-20 43 views

cevap

18

Quicksort, Object [] dizileri için mergesort ise, ilkel tür dizileri için kullanılır.

mergesort mergesort Nesneleri için kullanılan temel nedeninin istikrarlı - eşit olan unsurları yeniden sıralamak değildir: sen iki değeri ayırt edemez olarak ilkel İçin http://en.wikipedia.org/wiki/Sorting_algorithm#Stability

tür istikrar, anlamsız eşit. Bu nedenle, quicksort kullanılır (bir mizanpaj dizisinin gerçekleştirildiği Nesneler dizisini sıralarken hariç). Ayrıca, quicksort yerinde yapılabilir, bu yüzden başka bir dizi tahsis etmeye gerek yoktur.

+0

Bugünün dünyasında, mergesort, çok sayıda çekirdek – ControlAltDel

+0

iyi nokta kullanmak için uygulanabileceğinden, baskın sıralayıcısı haline geldi, ancak JDK şimdilik bunu kullanmıyor. –

+5

Yani, JDK 7 artık mergesort kullanmıyor - bu efsanevi [TimSort] kullanır (http://en.wikipedia.org/wiki/Timsort)! –