小明的班上只有 5 個(gè)同學(xué),這 5 個(gè)同學(xué)分別考了 5 分、3 分、5 分、2 分和 8 分,哎,考得真是慘不忍睹(滿分是 10 分)。接下來將分?jǐn)?shù)進(jìn)行從大到小排序。排序的算法有很多種,本節(jié)我們介紹一下桶排序。什么是桶排序?桶排序的大體思路就是先準(zhǔn)備好桶,比如上面的題目滿分10分,那么我們準(zhǔn)備11個(gè)桶,每個(gè)桶代表一個(gè)成績(jī):0分、1分、2分……10分,然后把開始成績(jī)放入對(duì)應(yīng)的桶里,所有成績(jī)放置完畢后,從10分的桶開始看,如果有那么最高的就是10分,沒有就看9分的桶,這樣從10-0依次取出桶里的成績(jī)就完成了排序。
這是桶排序的一個(gè)簡(jiǎn)化的版本,我們通過這樣一個(gè)簡(jiǎn)單的例子,讓大家重點(diǎn)理解桶排序的思想。大家可以發(fā)現(xiàn)這種方法特別適合數(shù)字在一定范圍之內(nèi),這樣不需要用到太多的桶。