這篇文章給大家介紹java中怎么實現(xiàn)快速排序,內(nèi)容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。
10余年的吉縣網(wǎng)站建設經(jīng)驗,針對設計、前端、開發(fā)、售后、文案、推廣等六對一服務,響應快,48小時及時工作處理。營銷型網(wǎng)站建設的優(yōu)勢是能夠根據(jù)用戶設備顯示端的尺寸不同,自動調(diào)整吉縣建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設計,從而大程度地提升瀏覽體驗。成都創(chuàng)新互聯(lián)公司從事“吉縣網(wǎng)站設計”,“吉縣網(wǎng)站推廣”以來,每個客戶項目都認真落實執(zhí)行。
選擇一個關鍵值作為基準值。比基準值小的都在左邊序列(一般是無序的),比基準值大的都在右邊(一般是無序的)。一般選擇序列的第一個元素。
一次循環(huán):從后往前比較,用基準值和最后一個值比較,如果比基準值小的交換位置,如果沒有繼續(xù)比較下一個,直到找到第一個比基準值小的值才交換。找到這個值之后,又從前往后開始比較,如果有比基準值大的,交換位置,如果沒有繼續(xù)比較下一個,直到找到第一個比基準值大的值才交換。直到從前往后的比較索引>從后往前比較的索引,結(jié)束第一次循環(huán),此時,對于基準值來說,左右兩邊就是有序的了。重復上述循環(huán)。
public class maxtest { public static void main(String[] args) { //###################快速排序法start###################//int[] state = {2,13,7,6,15,9,10,12,3,16,8,11,14,5,1}; int start = 0; int end = state.length-1;
System.out.print("初始值:"); for (int i = 0; i < state.length; i++) {
System.out.print(state[i]+",");
}
System.out.println("");
sort(state,start,end); //###################快速排序法end###################//
}
public static int partition(int []array,int lo,int hi){//固定的切分方式int key=array[lo];while(lo<hi){while(array[hi]>=key&&hi>lo){//從后半部分向前掃描hi--;
}
array[lo]=array[hi];while(array[lo]<=key&&hi>lo){
lo++;
}
array[hi]=array[lo];
}
System.out.println(""); for (int i = 0; i < array.length; i++) {
System.out.print(array[i]+",");
}
array[hi]=key;return hi;
} public static void sort(int[] array,int lo ,int hi){if(lo>=hi){return ;
}int index=partition(array,lo,hi);
sort(array,lo,index-1);
sort(array,index+1,hi);
}
}結(jié)果如下:
初始值:2,13,7,6,15,9,10,12,3,16,8,11,14,5,1,1,13,7,6,15,9,10,12,3,16,8,11,14,5,13,1,2,5,6,3,9,10,12,9,16,8,11,14,15,13,1,2,3,6,6,7,10,12,9,16,8,11,14,15,13,1,2,3,5,6,7,8,9,9,16,12,11,14,15,13,1,2,3,5,6,7,8,9,10,16,12,11,14,15,13,1,2,3,5,6,7,8,9,10,13,12,11,14,15,13,1,2,3,5,6,7,8,9,10,11,12,11,14,15,16,1,2,3,5,6,7,8,9,10,11,12,13,14,15,16,1,2,3,5,6,7,8,9,10,11,12,13,14,15,16,
圖列如下:

關于java中怎么實現(xiàn)快速排序就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
標題名稱:java中怎么實現(xiàn)快速排序
分享網(wǎng)址:http://chinadenli.net/article10/pgghdo.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站導航、網(wǎng)站建設、、外貿(mào)建站、網(wǎng)站維護、軟件開發(fā)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)