码迷,mamicode.com
首页 > 其他好文 > 详细

快速排序

时间:2014-05-01 03:33:20      阅读:330      评论:0      收藏:0      [点我收藏+]

标签:class   c   t   sp   strong   string   art   int   re   new   for   

package algorithm.sort;

public class QuickSort {

    public static void main(String[] args) {

       int[] a = new int[] {5, 3, 7, 2, 1, 4, 9, 8, 6, 1};

       sort(a);

       print(a);

    }

    public static void sort(int[] a) {

       sort(a, 0, a.length - 1);

    }

    public static void sort(int[] a, int p, int r) {

       if (p < r) {

           int q = partition(a, p, r);

           sort(a, p, q - 1);

           sort(a, q + 1, r);

       }

    }

    private static int partition(int[] a, int p, int r) {

       int x = a[p];

       int i = p;

       for (int j = p + 1; j <= r; j++) {

           if (a[j] <= x) {

              i++;

              exchange(a, i, j);

           }

       }

       exchange(a, i, p);

       return i;

    }

    public static void exchange(int[] a, int i1, int i2) {

       int tmp = a[i1];

       a[i1] = a[i2];

       a[i2] = tmp;

    }

    public static void print(int[] a) {

       if (a == null || a.length == 0)

           return;

       for (int i = 1; i <= a.length; i++) {

           System.out.print(a[i - 1] + "\t");

           if (i % 5 == 0)

              System.out.println();

       }

    }

}

快速排序,布布扣,bubuko.com

快速排序

标签:class   c   t   sp   strong   string   art   int   re   new   for   

原文地址:http://www.cnblogs.com/look4liming/p/3702219.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!