Java基础学习之冒泡排序

冒泡排序

    冒泡排序无疑是最为出名的排序算法之一,总共有八大排序! 冒泡排序代码还是相当简单的,两层循环,外层冒泡轮数,里层依次比较,江湖中人尽皆知 冒泡排序算法的时间复杂度为O(n^2)

代码

package src.com.array;

import java.util.Arrays;

public class arrayDemo05 {
          
   
    public static void main(String[] args) {
          
   


        int[] array = {
          
   6,5,9,3,80,2,76};

        int[] sort = sort(array);

        System.out.println(Arrays.toString(sort));
    }

    //冒泡排序
    //比较数组中两个相邻的元素,如果第一个数比第二个数大,我们就交换他们的位置
    //每一次比较,都会产生出一个最大或者最小的数字
    //下一轮则可以少一次排序
    //依次循环,直到结束
    public static int[] sort(int[] array){
          
   

        //外层循环,判断我们这个要走多少次
        for (int i = 0; i < array.length-1; i++) {
          
   //这里的 array.length-1 是因为排完长度-1个数就已经完成冒泡排序
            //内层循环,比较判断两个数,如果第一个数比第二个数大,则交换他们的位置
            for (int j = 0; j < array.length-1-i; j++) {
          
   

                int temp;//临时变量
                if (array[j]>array[j+1]){
          
   
                    temp = array[j];
                    array[j] = array[j+1];
                    array[j+1] = temp;
                }
            }
        }
        return array;

    }
}

运行结果

经验分享 程序员 微信小程序 职场和发展