八大排序--冒泡排序

91 阅读1分钟

八种排序的关系:

这里写图片描述

一、冒泡排序

基本思想:


在一组需要排序的数据中,对未排序的所有数据一次进行两两对比, 自上向下的对相邻两个数进行比较和调整, 大的数据下沉,下的数据上浮,
即:两个相邻的数据比较后,发现它们的顺序和排序要求相反,就进行互换。

从下面的数据可以看到,每轮比较调整之后,未排序的最小的数都跑到最前面了,经过多轮比较,前面未有序,后面未无序,直到最后一轮,整个数据到达有序。
这里写图片描述

代码实现:


public class BubbleSort {
    public static void main(String[] args) {
        int a[]={49,38,65,97,76,13,27,49,78,34,12,64,5,4,62,99,98,54,56,17,18,23,34,15,35,25,53,51};
        for (int i = 0; i < a.length-1; i++) {
            //内层循环:比较两两相邻的数据, 不满足排序要求的,进行位置调换
            for (int j = 0; j < a.length-i-1; j++) {
                //比较a[j]a[j+1], 小的向后移动
                if (a[j] < a[j+1]) {//互换位置
                    int tmp = a[j];
                    a[j] = a[j+1];
                    a[j+1] = tmp;
                }
            }//经过一个循环, 前部的未排序中的最小的一个被移动到了最后一个位置
        }
        for (int i = 0; i < a.length; i++) {
            System.out.print(a[i] +"  ");

        }
    }
}