少年阿賓

          那些青春的歲月

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

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


          網站導航:
           
          主站蜘蛛池模板: 登封市| 监利县| 军事| 庆安县| 介休市| 綦江县| 新津县| 阿勒泰市| 德清县| 宽甸| 临城县| 兴海县| 西乌珠穆沁旗| 襄樊市| 潮安县| 封开县| 吉首市| 岳西县| 保定市| 思南县| 广德县| 温宿县| 郧西县| 东丰县| 蒲城县| 莲花县| 镇远县| 安泽县| 怀化市| 大埔区| 仙居县| 中方县| 大关县| 东乡族自治县| 宁津县| 治县。| 临沭县| 鲁山县| 砀山县| 苍南县| 盐城市|