少年阿賓

          那些青春的歲月

            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 閱讀(683) 評論(0)  編輯  收藏 所屬分類: Java常用算法

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


          網站導航:
           
          主站蜘蛛池模板: 湘阴县| 中方县| 旬阳县| 芜湖县| 壶关县| 饶河县| 巩义市| 苏州市| 东宁县| 嘉鱼县| 于田县| 建昌县| 五指山市| 安吉县| 巨野县| 怀化市| 黔江区| 宁陕县| 云龙县| 武清区| 嘉峪关市| 泰安市| 福州市| 广灵县| 临洮县| 临沧市| 江孜县| 中牟县| 土默特左旗| 密云县| 钟山县| 繁峙县| 桐柏县| 黄龙县| 乐陵市| 囊谦县| 柘城县| 遵义县| 都匀市| 察隅县| 民勤县|