JAVA冒泡排序

冒泡排序是比较经典的排序方法,是一种用时间换空间的排序方法,原理:

  1. 比较相邻的元素,如果第一个比第二个大,就交换他们两个,也就说,每次比较完了,就有最大值出现。

  2. 对每一对相邻元素做同样的工作,从第一开始对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。

    3,每次比较完后下一趟就会少一个元素参与比较

冒泡排序算法的优缺点:

优点:比较简单,空间复杂度较低,是稳定的;

缺点:时间复杂度太高,率效慢、一轮比较只需要换一次位置;效率不高 (如果一个数组有n个数,那么排序完成后需要比较n*(n-1)/2次)

JAVA冒泡排序

一般实现代码如下:

package cn.edu.day02;

/**
 * 冒泡排序算法在数组的实现
 */
public class ArrayDemo02 {
    public static void main(String[] args) {
        int[] arr = {65,42,36,98,8,60,89};
        int len = arr.length;
        for (int j=0;j<len-1;j++){//确定排序循环次数

            int lent = arr.length;
            for (int i=0;i<lent-1-j;i++){//确定比较次数
                if (arr[i]>arr[i+1]){
                    //交换
                    int tmp = arr[i];
                    arr[i] = arr[i+1];
                    arr[i+1] = tmp;
                }
            }
        }
        //打印排序后的结果
        for (int i=0;i<arr.length;i++){
            System.out.print(arr[i]+"\t");
        }
    }
}