Java冒泡排序算法

Java中冒泡排序的实现

“冒泡“排序算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端(升序或降序排列),就如同碳酸饮料中二氧化碳的气泡最终会上浮到顶端一样,故名“冒泡排序”。

原理:

 1.比较数组中两个相邻元素,如果第一个数比第二个大,就交换它们的位置
 2.每一次比较,都会产生一个最大或者最小的数
 3.下一轮少一次排序
 4.依次循环,直到结束

示例:完成数组{5,3,2,4,1}的升序排列

img

代码:

public class ArrayDemo5 {
    public static void main(String[] args) {
        int [] a = {5,3,2,4,1};
        int [] sort = sortArray(a); //调用下面的 sortArray方法,返回一个排序后的数组

        //打印排序后的元素,方法一:
        System.out.println(Arrays.toString(sort));

        //打印排序后的元素,方法二(使用增强for循环):
        for (int i:sort) {
            System.out.print(i + " ");
        }
    }

    /**
     * @Author muzl
     * @Description //定义一个排序方法
     * @Date 2021/3/4 15:22
     * @Param
     * @return
     **/
    public static int[] sortArray(int []array){
        //外层循环,判断走多少次
        for (int i = 0; i < array.length - 1; i++) {
            //内层循环,比较两个数
            for (int j = 0; j < array.length-1-i; j++) {
                //如果后一个数比前一个数大,则交换位置
                if (array[j+1] < array[j]){
                    int temp = array[j]; //定义临时变量,两数交换时作为中间 “人”
                    array[j] = array[j+1];
                    array[j+1] = temp;
                }
            }
        }
        return array;
    }
}
posted @ 2021-03-04 15:57  L1ZM  阅读(125)  评论(0)    收藏  举报