91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

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

体育| 德兴市| 九江市| 宝兴县| 临邑县| 阳原县| 宣汉县| 阆中市| 双城市| 怀化市| 乌鲁木齐市| 孟州市| 边坝县| 湟源县| 土默特右旗| 舟山市| 安徽省| 长宁区| 南京市| 普兰店市| 大安市| 郴州市| 新宁县| 洞口县| 扬州市| 绥化市| 乐都县| 平远县| 舟山市| 聂荣县| 江都市| 庆城县| 宁城县| 红原县| 崇文区| 兴宁市| 屯留县| 邓州市| 彝良县| 花莲县| 即墨市|