经典七大排序算法详解之冒泡排序

前言

冒泡排序(Bubble Sort)是一种交换排序的算法,它是通过交换数据元素的位置进行排序。

一、冒泡排序的原理分析

从一个无序的序列的头部开始,进行两两比较的操作,然后根据比较后的大小互换位置,直到将最大数(最小数)放到序列的尾部为止。

二、冒泡排序的过程

重复执行相邻两个数的比较,然后按规定互换两个数的位置,也可能不换位置,持续每次对越来越少的元素(无序元素)比较,直到没有任何一对数字需要比较,则序列最终有序。

三、画图理解

经典七大排序算法详解之冒泡排序_第1张图片

四、java代码实现

public class BubbleSort {
    //写一个方法,调用这个方法时,传个int类型的数组参数,执行以下功能
    public static void bubbleSort(int[] a){
        //外层for循环控制排序的趟数。趟数会比length少一趟
        for(int i=1;ia[j+1]){
                    //定义一个变量装每次两两比较的大的那个数
                    int temp=a[j];
                    //比较出大小后,调换两者的前后顺序,保证大的数在后
                    a[j]=a[j+1];
                    //再将变量temp赋值给调换顺序后的大的那个数
                    a[j+1]=temp;
                }
            }
        }
    }
    @Test
    public void myTest() throws  Exception{
        //准备一个数组
        int a[]={3,7,5,9,2};
        //调用上面准备好的方法
        bubbleSort(a);
        for(int i = 0; i < a.length; i++){
            System.out.print(a[i]+" ");//2 3 5 7 9
        }
    }
}

你可能感兴趣的:(七大排序算法详解)