题解 | #排序#

排序

http://www.nowcoder.com/practice/2baf799ea0594abd974d37139de27896

快速排序

public class Solution {
    public int[] MySort (int[] arr) {
        quickSort(arr,0,arr.length-1);
        return arr;
    }
    public void quickSort(int[] arr,int leftIndex,int rightIndex){
        if(leftIndex > rightIndex) return;
        int left = leftIndex;
        int right = rightIndex;
        int temp = arr[leftIndex];
        while(left < right){
            while(temp <= arr[right] && left<right) right--;
            while(temp >= arr[left] && left<right) left++;
            if(left < right){
                //a=a+b-(b=a) 交换;
                arr[left] = arr[left] + arr[right] - (arr[right] = arr[left]);
            }
        }
        arr[leftIndex] = arr[left];
        arr[left] = temp;
        quickSort(arr,leftIndex, right-1);
        quickSort(arr,right+1, rightIndex);
    }
}
全部评论

相关推荐

昨天 20:31
东北大学 Java
点赞 评论 收藏
分享
不是哥们,我投的开发岗啊,也不至于直接调剂销售岗吧
哞客37422655...:先面一面探探口风,真要转销售就得把提成问清楚;说不定还能内部跳回技术,别直接拒。
我的工作日记
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务