`

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

阅读更多
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] + ";");
        }
    }
}
分享到:
评论

相关推荐

    Python实现冒泡排序的简单应用示例

    冒泡排序的主要思想是换位,例如在满足某种条件下将i和j调换: if i&gt;j: p = i i = j j = p 举出例子如下: 随意输入两个数字,将两个数字排序变成最小后相加 例如第一个数是51423,第二个是88613 最后变成12345...

    [C++算法入门]-冒泡排序

    文档中包含了冒泡排序的基本原理和实现方法,并提供了详细的代码示例和解析。 通过学习和完成这个练习,读者将能够掌握冒泡排序算法的思想和实现过程,并了解其在排序算法中的应用。此外,文档还提供了练习题和答案...

    C语言冒泡排序算实现代码

    本文主要介绍C语言冒泡排序算法,这里给大家举例说明冒泡排序的思想,并附有代码示例,有需要的小伙伴可以参考下

    六种排序算法小结PDF

    有详细的思路及算法分析、伪代码、图解、示例代码等。 比较列表中的相邻元素,如果它们是逆序的话就交换它们的位置。重复多次后,最大的元素就“沉到”列表的最后一个位置。第二遍操作将第二大的元素沉下去。这样...

    VFP中实现选择排序

     知道这个排序方法的基本思想和排序过程,在vfp中书写代码就简单了,只是需要注意vfp中数组的下标及循环变量的初值及终值与C/C++的区别。实例的运行界面如下图:  本例依然采取生成10个随机整数的方式取得数据,...

    C/C++常用算法手册.秦姣华(有详细书签).rar

    4.2.2 冒泡排序算法示例 102 4.3 选择排序法 104 4.3.1 选择排序算法 104 4.3.2 选择排序算法示例 105 4.4 插入排序法 107 4.4.1 插入排序算法 107 4.4.2 插入排序算法示例 108 4.5 Shell排序法 110 4.5.1 ...

    《算法图解》Python3代码实现方式

    例如,在书中讲解排序算法时,作者首先通过图形化的方式展示了各种排序算法的原理,如冒泡排序、选择排序、插入排序等。然后,作者提供了相应的Python 3代码实现,让读者能够在实际编程中运用这些算法。读者可以通过...

    算法思维导图【全面】.xmind.zip

    总结常规排序算法:选则、冒泡、插入、希尔、归并、快排、桶排序等,涵盖:设计思想、时间复杂度、空间杂度度、稳定性、使用场景、代码示例等。

    ASP.NET常见问题集锦.zip

    归并排序,快速排序,冒泡算法,二叉查找树.doc 微软C编程精粹.doc 探讨 ASP.NET 的可伸缩性.doc 提高ASP.Net应用程序性能的十大方法.doc 无废话XML.pdf 概念.txt 求最大最小值示例.txt 用ASP.NET创建...

    JAVA基础课程讲义

    冒泡排序 111 二分法查找 112 命令行参数的问题 113 增强for循环 114 思考作业 114 上机作业 115 第六章 常用类的使用 117 基本数据类型的包装类 117 包装类基本知识 117 包装类的用途 118 自动装箱和拆箱?...

    java基础案例与开发详解案例源码全

    4.4.1 算法-冒泡排序113 4.4.2 插入排序115 4.5 增强for循环116 4.6 本章练习117 第5章 5.1 面向过程的设计思想120 5.2 面向对象的设计思想120 5.3 抽象121 5.3.1 对象的理解121 5.3.2 Java抽象思想的实现122 5.4 ...

Global site tag (gtag.js) - Google Analytics