Java实现冒排序的详细过程

来源:互联网 发布:ios更新时网络中断 编辑:程序博客网 时间:2024/04/29 17:32

冒泡排序算法的运作如下:
比较相邻的元素。如果第一个比第二个大,就交换他们两个。 对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。

针对所有的元素重复以上的步骤,除了最后一个。持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较

这种方法的基本思想是,将待排序的元素看作是竖着排列的“气泡”,较小的元素比较轻,从而要往上浮。在冒泡排序算法中我们要对这个“气泡”序列处理若干遍。

public class BubbleSort {

public static void main(String[] args) {    int score[] = { 67, 69, 75, 87, 89, 90, 99, 100 };    // 最多做n-1趟排序    for (int i = 0; i < score.length - 1; i++) {     // 对当前无序区间score[0......length-i-1]进行排序(j的范围很关键,这个范围是在逐步缩小的)        for (int j = 0; j < score.length - i - 1; j++) {             if (score[j] < score[j + 1]) { // 把小的值交换到后面                int temp = score[j];                score[j] = score[j + 1];                score[j + 1] = temp;            }        }         //每一次只能确定一个数归位        System.out.print("第" + (i + 1) + "次排序结果:");         for (int a = 0; a < score.length; a++) {            System.out.print(score[a] + "\t");        }        System.out.println("");    }    System.out.print("最终排序结果:");    for (int a = 0; a < score.length; a++) {        System.out.print(score[a] + "\t");    }    //           System.out.println(Arrays.toString(score));  } 

算法分析

1 0
原创粉丝点击