少年阿賓

          那些青春的歲月

            BlogJava :: 首頁 :: 聯系 :: 聚合  :: 管理
            500 Posts :: 0 Stories :: 135 Comments :: 0 Trackbacks

          package com.abin.lee.sort;

          public class QuickSort {
           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;
           }
           public static void main(String[] args) {
            int[] num=new int[]{1,8,4,2,7,5,6,3};
            quick(num);
            for(int i=0;i<num.length;i++){
             System.out.println(num[i]);
            }
           }
          }

          posted on 2012-04-15 15:57 abin 閱讀(678) 評論(0)  編輯  收藏 所屬分類: Java常用算法

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 高要市| 安多县| 尼勒克县| 平果县| 托克逊县| 阿克陶县| 华容县| 九龙城区| 拉萨市| 湛江市| 馆陶县| 塔河县| 青田县| 渝中区| 镇原县| 廊坊市| 鄂尔多斯市| 日喀则市| 定西市| 叶城县| 斗六市| 甘谷县| 天水市| 会宁县| 岑巩县| 工布江达县| 铜川市| 建阳市| 梨树县| 昌平区| 永顺县| 龙南县| 科技| 蕉岭县| 长海县| 海南省| 罗城| 秭归县| 彭山县| 浑源县| 花莲县|