快速排序算法

public class QucikSort {    //快速排序方法
    void qucikSort(int arr[],int l,int r){
        int low=l,high=r;
        int key=arr[low];//key
        while(low<high){
            while(low<high&&arr[high]>=key) high--;//从右向左找比key小的值
            if(low<high) {
                arr[low]=arr[high];//挖坑
                low++;
            }
            while(low<high&&arr[low]<=key) low++;//从左向右找比key大的值
            if(low<high){
                arr[high]=arr[low];//之前被挖的坑填上 出现新坑arr[low]
                high--;
            }
        }
        //循环结束时 i=j
        arr[low]=key;
        qucikSort(arr,l,low-1);
        qucikSort(arr,low+1,r);
    }
}

  

地址。https://github.com/yanbin92/AndoridLearningNote/tree/master/%E7%AE%97%E6%B3%95%E5%AD%A6%E4%B9%A0

posted @ 2016-04-01 17:54  apptao  阅读(257)  评论(0编辑  收藏  举报