冒泡排序法

右下角是代码运行的效果:

我把我写的冒泡排序的代码也贴上来,方便大家理解!

(后面有相应的注释哦!)

package com.arrays;

import java.util.Arrays;

public class Test1 {
    public static void main(String[] args) {
        int[] arr={2,4,5,1,3,6,8,7};
        //数组里面的排序方法
//        Arrays.sort(arr);
//        System.out.println(Arrays.toString(arr));
        //冒泡排序法
        boolean flag=true;//定义一个布尔类型的变量,标记数组是否已达到有序状态
        for(int i=0;i<arr.length-1;i++){    //外层循环:n个元素排序,则至多需要n-1趟循环
            for (int j=0;j<arr.length-1-i;j++){//内层循环:每一趟循环都从数列的前两个元素开始进行比较,比较到无序 数组的最后
                if(arr[j]>arr[j+1]){    //如果前一个元素大于后一个元素,则交换两元素的值;
                    int temp=arr[j];
                    arr[j]=arr[j+1];
                    arr[j+1]=temp;
                    //本趟发生了交换,表明该数组在本趟处于无序状态,需要继续比较;
                    flag=false;
                }
            }
            //根据标记量的值判断数组是否有序,如果有序,则退出;无序,则继续循环。
            if (flag){
                break;
            }
            System.out.println(Arrays.toString(arr));
        }
    }
}

 

posted @ 2020-04-07 12:12  SunSpring  阅读(231)  评论(0编辑  收藏  举报