亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

java中怎么實現快速排序

發布時間:2021-06-22 15:39:32 來源:億速云 閱讀:170 作者:Leah 欄目:大數據

這篇文章給大家介紹java中怎么實現快速排序,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

一、原理

    選擇一個關鍵值作為基準值。比基準值小的都在左邊序列(一般是無序的),比基準值大的都在右邊(一般是無序的)。一般選擇序列的第一個元素。

二、描述

    一次循環:從后往前比較,用基準值和最后一個值比較,如果比基準值小的交換位置,如果沒有繼續比較下一個,直到找到第一個比基準值小的值才交換。找到這個值之后,又從前往后開始比較,如果有比基準值大的,交換位置,如果沒有繼續比較下一個,直到找到第一個比基準值大的值才交換。直到從前往后的比較索引>從后往前比較的索引,結束第一次循環,此時,對于基準值來說,左右兩邊就是有序的了。重復上述循環。

三、實例

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); 
    }
}

結果如下:

初始值: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中怎么實現快速排序

關于java中怎么實現快速排序就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

伊春市| 兴义市| 和林格尔县| 巫山县| 通化县| 武定县| 临洮县| 彭水| 临泉县| 敦煌市| 玉环县| 田阳县| 柏乡县| 淮滨县| 湖南省| 正定县| 淮阳县| 枞阳县| 海伦市| 新和县| 册亨县| 岳西县| 天柱县| 介休市| 惠水县| 景泰县| 方正县| 嘉峪关市| 铁岭县| 嘉鱼县| 南和县| 海南省| 宜章县| 嘉善县| 剑川县| 通山县| 鄂尔多斯市| 墨脱县| 栖霞市| 横山县| 平和县|