看板 Programming
作者 art0709(Ninja)
標題 Re: 氣泡排序法
時間 2010年04月23日 Fri. AM 11:35:01


※ 引述《iloveyouever》之銘言:
另外一個快速排序法也不錯
最近都在面試, 會考這些
我覺得寫快速排序法比較有誠意 XDDD

轉貼-快速排序法

public class Sort {
    public static void quick(int[] number) {
        sort(number, 0, number.length-1);
    }
   
    private static void sort(int[] number, int left, int right) {
        if(left < right) {
            int i = left;
            int j = right + 1;
            while(true) {
                // 向右找
                while(i + 1 < number.length && number[++i] < number[left]) ;  
                // 向左找
                while(j -1 > -1 && number[--j] > number[left]) ;  
                if(i >= j)
                    break;
                swap(number, i, j);
            }
            swap(number, left, j);
            sort(number, left, j-1);   // 對左邊進行遞迴
            sort(number, j+1, right);  // 對右邊進行遞迴
        }
    }
   
    private static void swap(int[] number, int i, int j) {
        int t = number[i];
        number[i] = number[j];
        number[j] = t;
    }
}

--
--
※ 來源: DISP BBS 看板: Programming 文章連結: http://disp.cc/b/33-1JL
※ 作者: art0709  來自: 61.221.67.235  時間: 2010-04-23 11:35:01
※ 同主題文章:
04-23 00:19 iloveyouever
Re: 氣泡排序法
04-23 11:35 art0709
art0709: Re: 氣泡排序法 - Programming板