java排序算法匯總大全

java排序算法匯總大全

ID:13993611

大?。?37.00 KB

頁(yè)數(shù):18頁(yè)

時(shí)間:2018-07-25

java排序算法匯總大全_第1頁(yè)
java排序算法匯總大全_第2頁(yè)
java排序算法匯總大全_第3頁(yè)
java排序算法匯總大全_第4頁(yè)
java排序算法匯總大全_第5頁(yè)
資源描述:

《java排序算法匯總大全》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫(kù)

1、package?com.softeem.jbs.lesson4;????import?java.util.Random;????/**???*?排序測(cè)試類???*????*?排序算法的分類如下:???*?1.插入排序(直接插入排序、折半插入排序、希爾排序);???*?2.交換排序(冒泡泡排序、快速排序);???*?3.選擇排序(直接選擇排序、堆排序);???*?4.歸并排序;???*?5.基數(shù)排序。???*????*?關(guān)于排序方法的選擇:???*?(1)若n較小(如n≤50),可采用直接插入或直接選擇排序。???*? 當(dāng)記錄規(guī)模較小時(shí),直接插入排序較好;否則因?yàn)橹苯舆x擇移動(dòng)的記錄數(shù)少于直接插

2、人,應(yīng)選直接選擇排序?yàn)橐恕???*?(2)若文件初始狀態(tài)基本有序(指正序),則應(yīng)選用直接插人、冒泡或隨機(jī)的快速排序?yàn)橐耍???*?(3)若n較大,則應(yīng)采用時(shí)間復(fù)雜度為O(nlgn)的排序方法:快速排序、堆排序或歸并排序。???*????*/????public?class?SortTest?{????????????????/**??????????*?初始化測(cè)試數(shù)組的方法??????????*?@return?一個(gè)初始化好的數(shù)組??????????*/???????????public?int[]?createArray()?{??????????????????Random?random

3、?=?new?Random();??????????????????int[]?array?=?new?int[10];??????????????????for?(int?i?=?0;?i?

4、???????????printArray(array);??????????????????return?array;???????????}????????????????/**??????????*?打印數(shù)組中的元素到控制臺(tái)??????????*?@param?source??????????*/???????????public?void?printArray(int[]?data)?{??????????????????for?(int?i?:?data)?{?????????????????????????System.out.print(i?+?"?");???????????

5、???????}??????????????????System.out.println();???????????}????????????????/**??????????*?交換數(shù)組中指定的兩元素的位置??????????*?@param?data??????????*?@param?x??????????*?@param?y??????????*/???????????private?void?swap(int[]?data,?int?x,?int?y)?{??????????????????int?temp?=?data[x];??????????????????data[x]?=

6、?data[y];??????????????????data[y]?=?temp;???????????}????????????????/**??????????*?冒泡排序----交換排序的一種??????????*?方法:相鄰兩元素進(jìn)行比較,如有需要?jiǎng)t進(jìn)行交換,每完成一次循環(huán)就將最大元素排在最后(如從小到大排序),下一次循環(huán)是將其他的數(shù)進(jìn)行類似操作。???????????*?性能:比較次數(shù)O(n^2),n^2/2;交換次數(shù)O(n^2),n^2/4??????????*???????????*?@param?data?要排序的數(shù)組??????????*?@param?sortType?

7、排序類型??????????*?@return??????????*/???????????public?void?bubbleSort(int[]?data,?String?sortType)?{??????????????????if?(sortType.equals("asc"))?{?//正排序,從小排到大?????????????????????????//比較的輪數(shù)????????????????

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無此問題,請(qǐng)放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫(kù)負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭(zhēng)議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請(qǐng)聯(lián)系客服處理。