排序算法-交换排序_冒泡排序

来源:互联网 发布:windows 安装程序 编辑:程序博客网 时间:2024/05/20 14:16
package 交换排序;/** * 冒泡排序【稳定】 *  * 基本思想:在要排序的一组数中,对当前还未排好序的范围内的全部数,自上而下对相邻的两个数依次进行比较和调整,让较大的数往下沉,较小的往上冒。 * 即:每当两相邻的数比较后发现它们的排序与排序要求相反时,就将它们互换。 */public class 冒泡排序 {    public static void main(String[] args) {        int[] a = { 49, 38, 65, 97, 76, 13, 27 };        System.out.println("排序之前:");        for (int i = 0; i < a.length; i++) {            System.out.print(a[i] + " ");        }        sort(a);// 冒泡排序        System.out.println();        System.out.println("排序之后:");        for (int i = 0; i < a.length; i++) {            System.out.print(a[i] + " ");        }    }    public static void sort(int[] a) {        for (int i = 0; i < a.length; i++) {            for (int j = 0; j < a.length - i - 1; j++) {                // 这里-i主要是每遍历一次都把最大的i个数沉到最底下去了,没有必要再替换了                if (a[j] > a[j + 1]) {                    int temp = a[j];                    a[j] = a[j + 1];                    a[j + 1] = temp;                }            }        }    }}

运行结果如下:

排序之前:49 38 65 97 76 13 27 排序之后:13 27 38 49 65 76 97 
1 0
原创粉丝点击