您的位置:首页 > 其它

快速排序

2014-12-10 14:08 148 查看
快速排序java递归实现

算法思想见博客/article/1389268.html

代码实现如下

import java.util.Arrays;
//快速排序
public class Main {
    static int[] array = { 49, 1, 200, 5, 7, 2, 6, 9, 44, 10, 25, 4, 99, 101 };

    public static void main(String[] args) {
        quicksort(0,array.length-1);
        System.out.println(Arrays.toString(array));
    }

    public static void quicksort(int first, int end) {
        if(first>=end)return;
        int key = array[first];
        int i = first;
        int j = end;    
        while (i < j) {
            for (; j > i; j--) {
                if (array[j] < key) {
                    array[i] = array[j];
                    break;
                }
            }
            for (; i < j; i++) {
                if (array[i] > key) {
                    array[j] = array[i];
                    break;
                }
            }
        }
        //跳出while时,i等于j
        array[i]=key;
        quicksort(first,i-1);
        quicksort(i+1,end);
    }
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: