java快速排序算法代碼

pc688 9年前發布 | 885 次閱讀 Java

package Mypackage;

public class QuickSort {

public static void main(String[] args) {
    int[] arr = { 2, 5, 4, 3, 7, 0, 9, 1, 6, 8 };
    quickSort(arr, 2, 7);
    for (int i = 0; i < arr.length; i++)
        System.out.print(arr[i] + " ");
}

public static void quickSort(int[] arr, int low, int high) {
    int i = 0, j, key = 0;
    if (low < high) {
        key = arr[low];
        i = low;
        j = high;
        while (i < j) {
            while (i < j && arr[j] > key)
                j--;
            if (i < j)
                arr[i++] = arr[j];
            while (i < j && arr[i] < key)
                i++;
            if (i < j)
                arr[j--] = arr[i];
        }
    }
    arr[i] = key;
    if (i > low + 1)
        quickSort(arr, low, i - 1);
    if (i < high - 1)
        quickSort(arr, i + 1, high);
}

} </pre>

 本文由用戶 pc688 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!