冒泡排序

class Solution {
    public int[] sortArray(int[] nums) {
        BubbleSort(nums);
        return nums;
    }
    private void BubbleSort(int[] nums){
        if(nums == null || nums.length < 2) return;
        for(int i = 0;i < nums.length-1;i++){  //n个数冒泡需要比较n-1轮
            boolean flag = false;    //标志位 如果某次冒泡没有元素交换则直接退出
            for(int j = 0;j < nums.length-1-i;j++){
                if(nums[j] > nums[j+1]){
                    flag = true;   //有元素交换  标志位置为true
                    int temp = nums[j];
                    nums[j] = nums[j+1];
                    nums[j+1] = temp;
                }
            }
            if(flag == false) return;  //判断有没有发生交换
        }
    }
}
posted @ 2021-07-16 07:49  一点尘尘  阅读(21)  评论(0)    收藏  举报