排序算法 之 冒泡算法

来源:互联网 发布:大数据研究课题 编辑:程序博客网 时间:2024/05/03 21:34

一、 冒泡算法:

         冒泡排序(Bubble sort)是一种简单直观的排序算法,依次访问要走过的序列,依次比较两个元素,如果他们的顺序错误就交换过来。重复上述操作直到没有再需要交换的元素,若从小到大排序,每次最大的元素都会“沉底”。


二、算法步骤:

1) 比较相邻元素,如果第一个比第二个大,就交换两个元素

2) 对每对元素做相同的工作,从开始第一对到最后一对,此时最大的元素沉底。

3)针对所有元素重复以上步骤,知道没有需要交换的元素为止。


三、实现代码:(代码中会每次浮出最小的元素)

    public static void bubbleSort(int[] array) {        boolean swap = false;        for (int i = 0; i < array.length - 1; i++) {            swap = false;            for (int j = array.length - 1; j > i; j--) {                if (array[j] < array[j - 1]) {                    int tmp = array[j];                    array[j] = array[j - 1];                    array[j - 1] = tmp;                    swap = true;                }            }            if (!swap) {                break;            }        }    }

注: 用swap来标记每次的循环过程是否有交换的元素。

0 0
原创粉丝点击