給定一個(gè)無需數(shù)組a,長(zhǎng)度為n,以及一個(gè)整數(shù)k(0
不了解快速排序的話,可以看快速排序,快速搞定
a = {4,3,2,1,5,6,7,8,9}
我們選取a[0]
(4)為軸值,那么將數(shù)組劃分后,得:a = {3,2,1,4,5,6,7,8,9}
,這時(shí)候軸值4的位置是3,我們可以看到,第三大的數(shù)就是4。那么我們可以通過軸值的位置與k進(jìn)行比較,如果k==p,那么a[p]就是第k大的數(shù)了。如果k> p,那么軸值一定在[p+1,n]
的范圍,所以我們只需要對(duì)右邊進(jìn)行遞歸就好。如果k< p,只需要對(duì)左邊進(jìn)行遞歸。新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注