`

冒泡排序基本思想及示例代码

阅读更多
package test;

/**
* Created by IntelliJ IDEA.
* User: guozi
* Date: 2007-4-17
* Time: 14:05:06
* To change this template use File | Settings | File Templates.
*/
/*
冒泡排序基本思想
冒泡排序的思想很简单。假设有n个数字的数列,要实现从小到大排序。
首先将第一个数字和第二个数字进行比较,如果第一个数比第二个数大,
则将两个数交换,然后比较第二个数和第三个数,依次类推,
直至第n-1个数和第n个数进行比较为止。上述过程称作第一趟冒泡排序,
这样第一趟结束时第n个数就是所有数列中最大的数,
就好像水中冒出的气泡一样,最大的数也会向前“漂浮”。
然后进行第二趟排序,对前n-1个数进行同样的操作,
其结果使得第二大的数安置到了第n-1个数的位置上。冒泡排序示例如下:
初始的时候:  49 38 65 97 76 13 27 49
第一趟排序后:38 49 65 76 13 27 49 97
第二趟排序后:38 49 65 13 27 49 76 97
第三趟排序后:38 49 13 27 49 65 76 97
第四趟排序后:38 13 27 49 49 65 76 97
第五趟排序后:13 27 38 49 49 65 76 97
第六趟排序后:13 27 38 49 49 65 76 97
第七趟排序后:13 27 38 49 49 65 76 97
*/
public class Sort {
    public Sort() {
    }

    public static void main(String[] args) {
        int a[] = new int[8];
        a[0] = 49;
        a[1] = 38;
        a[2] = 65;
        a[3] = 97;
        a[4] = 76;
        a[5] = 13;
        a[6] = 27;
        a[7] = 49;
        int tmp; //定义临时变量,作为寄存器
        for (int i = 0; i <= 7; i++) {
            for (int j = 0; j < 7 - i; j++) { //以下进行每趟排序
                if (a[j] > a[j + 1]) { //比较大小,交换
                    tmp = a[j + 1];
                    a[j + 1] = a[j];
                    a[j] = tmp;
                }
            }
        }
        //将比较完成的结果打印出来
        for (int i = 0; i <= 7; i++) {
            System.out.print(a[i] + ";");
        }
    }
}
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics