码迷,mamicode.com
首页 > 编程语言 > 详细

快速排序

时间:2016-11-08 07:37:02      阅读:193      评论:0      收藏:0      [点我收藏+]

标签:排序   class   public   --   快速   code   div   bre   int   

public void quickSort(int left, int right, int a[]) {
        int l = left;
        int r = right;
        int pivot = a[(l + r) / 2];// 转轴数
        int temp = 0;
        while (l < r) {
            while (a[l] < pivot)
                l++;
            while (a[r] > pivot)
                r--;

            if (l >= r)
                break;

            temp = a[l];
            a[l] = a[r];
            a[r] = temp;

            if (a[l] == pivot)
                r--;
            if (a[r] == pivot)
                l++;
        }
        if (l == r) {
            l++;
            r--;
        }
        if (left < r)
            quickSort(left, r, a);
        if (right > l)
            quickSort(l, right, a);
    }

 

快速排序

标签:排序   class   public   --   快速   code   div   bre   int   

原文地址:http://www.cnblogs.com/johnsonwei/p/6041258.html

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