`

Java排序算法之 —— 冒泡排序

阅读更多
package algorithm.sort;  
  
/** 
 * 冒泡排序:重复地交换相邻的两个反序元素 
 * @author Administrator 
 * 
 */  
public class BubbleSort {  
    //对数组中指定位置的元素进行排序  
    public void bubbleSort(int[] a, int from, int end) {  
        for (int i = from; i<=end; i++) {  
            for (int j = end; j > i; j--) {  
                if (a[j-1] > a[j]) {  
                    exchange(a, j-1, j);  
                }  
            }  
        }  
    }  
      
    //对整个数组排序  
    public void bubbleSort(int[] a) {  
        bubbleSort(a, 0, a.length-1);  
    }  
      
    //交换数组中的两个元素  
    public void exchange(int[] a, int i, int j) {  
        int temp = a[i];  
        a[i] = a[j];  
        a[j] = temp;  
    }  
      
    //打印数组  
    public void printArr(String str, int[] a) {  
        System.out.print(str + "\t");  
        for(int i = 0; i < a.length; i++)  
            System.out.print(a[i] + " ");  
        System.out.println();  
    }  
      
    //测试数据  
    public static void main(String[] args) {  
        BubbleSort bs = new BubbleSort();  
        int[] a = {1,6,3,8,2,0};  
        bs.printArr("原始数组为:", a);  
        bs.bubbleSort(a);  
        bs.printArr("冒泡排序后:", a);  
    }  
}  
 

 

分享到:
评论

相关推荐

    java算法——冒泡排序

    * 冒泡排序: * 每次在无序队列里将相邻两个数一次进行比较, * 将小数调到前面,逐次比较,直至将最大的数移到 * 最后。将剩下的N-1个数继续比较,将次大数移至 * 倒数第二位。

    10大排序算法——01冒泡排序(Java实现)

    冒泡排序(Bubble Sort) 冒泡排序也叫起泡排序 冒泡排序的执行流程 1.从头开始比较每一对相邻元素,如果第一个比第二个大,就交换他们的位置。(执行完第一轮,最后的那个元素就是最大的元素) 2.忽略从步骤1中找到...

    使用Java与Python实现的十大排序算法之冒泡排序

    冒泡排序是最基础的排序算法之一,但它并不是最优的排序算法。 1. 算法思想 冒泡排序是将数据中的每个数与相邻数进行比较并交换,大数往上冒,小数往下沉,每个数都遍历一次后便可以排出顺序。 2. 算法步骤 (1)...

    跟我学Java面向对象程序设计技术及应用——应用冒泡排序算法实现数组元素排序的Java程序实现示例.pdf

    杨教授工作室 精心创作的优秀程序员 职业提升必读系列资料 杨教授工作室,版权所有,盗版必究, 1/29 页 1 跟我学 Java 面向对象程序设计技术及应用——应用冒泡排序算法实 现数组元素排序的 Java 程序实现示例 1.1 ...

    Java数据结构和算法

    (10)数据结构之红黑树(三)——删除操作 (11)排序算法(一)——冒泡排序及改进 (12)排序算法(二)——选择排序及改进 (13)排序算法(三)——插入排序及改进 (14)排序算法(四)——归并排序与递归...

    java代码-使用java解决java冒泡排序算法的源代码

    java代码-使用java解决java冒泡排序算法的源代码 ——学习参考资料:仅用于个人学习使用!

    java语言排序——选择排序法和冒泡排序法(排序时间的测试盒比较)

    NULL 博文链接:https://ninghui521.iteye.com/blog/1697377

    数据结构&amp;算法——Java.zip

    算法分类:排序算法(如冒泡排序、快速排序、归并排序),查找算法(如顺序查找、二分查找、哈希查找),图论算法(如Dijkstra最短路径算法、Floyd-Warshall算法、Prim最小生成树算法),动态规划,贪心算法,回溯法...

    数据结构和算法.md

    小白日记之八种排序算法——八种排序算法:冒泡排序、选择排序、插入排序、希尔排序、基数排序、堆排序、归并排序、快排

    十种JAVA排序算法实例

    本文件讲了十种JAVA排序方法(冒泡(Bubble)排序——相邻交换 、选择排序——每次最小/大排在相应的位置 、插入排序——将下一个插入已排好的序列中 、壳(Shell)排序——缩小增量 、归并排序 、快速排序 、堆排序 ...

    选择排序——Java实现

    冒泡排序实际上是将数据从右至左排序完成(从右至左、从大到小进行交换排序),而快速排序是将数据从左到右排序完成(从左至右、从小到大进行交换排序),虽然选择排序相对于冒泡排序将交换次数从O(n2)O(n^2)O(n2)...

    算法和数据结构——左程云.zip

    算法分类:排序算法(如冒泡排序、快速排序、归并排序),查找算法(如顺序查找、二分查找、哈希查找),图论算法(如Dijkstra最短路径算法、Floyd-Warshall算法、Prim最小生成树算法),动态规划,贪心算法,回溯法...

    冒泡排序——Java实现

    冒泡排序 算法实现原理 1、从数据队列的左侧开始比较相邻的另个数据元素 2、如果左侧元素大于右侧元素,则交换这两个元素的位置,继续右移一个位置比较下两个相临的数据元素 3、如果右侧元素大于左侧元素,则不变,...

    程序员代码面试指南——IT名企算法和数据结构题目最优解.zip

    算法分类:排序算法(如冒泡排序、快速排序、归并排序),查找算法(如顺序查找、二分查找、哈希查找),图论算法(如Dijkstra最短路径算法、Floyd-Warshall算法、Prim最小生成树算法),动态规划,贪心算法,回溯法...

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

    9.6.1 计算最大公约数算法——搌转相除法 287 9.6.2 计算最大公约数算法一一Stein算法 288 9.6.3 计算最大公约数示例 289 9.7 最小公倍数 290 9.8 素数 292 9.8.1 素数概述 292 9.8.2 计算素数算法 292 9.9 ...

    Java开发课程设计基于swing做的数据结构演示系统源代码.zip

    包括直接插入排序、希尔排序、简单选择排序、冒泡排序、快速排序,可以实现十个数的排序演示,有追踪数据变化的功能。 二叉树遍历 该模块实现了二叉树的三种遍历方式。用户可以对树的每一个节点输入值构造二叉树。 ...

    CS210:算法与数据结构Ⅰ

    CS210 - 算法和数据结构 I 数字 - 找到第 n 个素数 骰子 - 骰子对象,具有滚动和获取滚动值的方法。 - 掷骰子一百万次。 - 多次掷骰子并记录收到每个值的次数。...[冒泡排序.java](SortingAlgorithm

    【白雪红叶】JAVA学习技术栈梳理思维导图.xmind

    UMPAY——编码规范 日志规范 异常规范 网络 协议 TCP/IP HTTP hession file HTTPS 负载均衡 容器 JBOSS tomcat resin jetty 容灾 日志框架 开源框架 slf4j 框架实现 log4j logback commong ...

    C++大学教程,一本适合初学者的入门教材(part2)

    5.6 按引用调用的冒泡排序 5.7 指针表达式与指针算法 5.8 指针与数组的关系 5.9 指针数组 5.10 实例研究:洗牌与发牌 5.11 函数指针 5.12 字符与字符串处理简介 5.12.1 字符与字符串基础 5.12.2 字符串...

    C++大学教程,一本适合初学者的入门教材(part1)

    5.6 按引用调用的冒泡排序 5.7 指针表达式与指针算法 5.8 指针与数组的关系 5.9 指针数组 5.10 实例研究:洗牌与发牌 5.11 函数指针 5.12 字符与字符串处理简介 5.12.1 字符与字符串基础 5.12.2 字符串...

Global site tag (gtag.js) - Google Analytics