简单的冒泡排序算法

/**
 * @Description 实现一个简单的冒泡排序算法
 * 所谓的冒泡排序就是指集合中的元素两两比较,如果前面的比后面的大就交换彼此的位置,交换后继续比较
 * @auther Eleven
 * @create 2020-04-04 20:24
 **/
public class BubbleSort {
    public static void main(String[] args) {
        int[] arr = new int[]{1,9,5,2,6,7,10,11};
        BubbleSort bubbleSort = new BubbleSort();
        bubbleSort.bubbleSort(arr);
    }
    //冒泡排序
    public  void bubbleSort(int[] arr){
        System.out.println(Arrays.toString(arr));
        //比较轮次,因为设置一个数作为基准所以比较的轮次会比数组的长度少一轮
        for(int i=0;i<arr.length-1;i++){
            //每一轮比较过后,相当于剔除了一个最大的数据,因此每轮过后数组的长度其实在逻辑上减少了,但是实际并减少
            for(int j=0;j<arr.length-1-i;j++){
                //如果当前位置比后一位大就交换位置
                if(arr[j]>arr[j+1]){
                    int temp = arr[j+1];
                    arr[j+1] = arr[j];
                    arr[j] = temp;
                }
            }
        }
        System.out.println(Arrays.toString(arr));
    }
}

发布了71 篇原创文章 · 获赞 8 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/system_obj/article/details/105316487