//冒泡排序算法   平均时间复杂度   O(n*n)   稳定的排序算法

下面的是改进版的冒泡排序算法,使用exchange 标志位进行控制

public class bubbleSort {

public static void bubbleSort(int[] data)
{
    int i = 0;
    int j = 0;
    int tmp = 0;
    int len = 0;局部变量
    boolean exchange = false;

if (null == data){
        return;
    }

len = data.length;   //避免重复调用data.length
  
    for (i = 0; i < len-1; i++)
    {
        exchange = false;

for (j = 0; j < len - 1 - i; j++) {
            if (data[j] > data[j+1]) {
                tmp = data[j];
                data[j] = data[j+1];
                data[j+1] = tmp;
                exchange = true;
            }
        }

if (!exchange) {
            break;
        }
    }
}

}

排序算法之冒泡排序(JAVA)相关推荐

  1. Java排序算法:冒泡排序

    Java排序算法:冒泡排序 //创建数组并赋值int[] data = new int[] {11,10,55,78,100,111,45,56,79,90,345,1000};for(int i=0 ...

  2. 排序算法之冒泡排序(Java版)

    排序:即使集合或数组中的元素有序化 本篇介绍最简单.最易掌握的冒泡排序 冒泡排序:         是一种简单的排序算法, 冒泡排序就像学生站队一样,要在老师的引导下,以某位同学位基准,其他学生按身高 ...

  3. 选择排序算法(基于Java实现)

    title: 选择排序算法(基于Java实现) tags: 选择算法 选择排序算法原理及代码实现: 一.选择排序算法的原理 选择排序算法的实现思路有点类似插入排序,也分已排序区间和未排序区间.但是选择 ...

  4. 买什么数据结构与算法,这里有:动态图解十大经典排序算法(含JAVA代码实现)

    上篇的动图数据结构反响不错,这次来个动图排序算法大全.数据结构与算法,齐了. 几张动态图捋清Java常用数据结构及其设计原理 本文将采取动态图+文字描述+正确的java代码实现来讲解以下十大排序算法: ...

  5. java array 元素的位置_数据结构与算法:动态图解十大经典排序算法(含JAVA代码实现)...

    点击上方"JAVA",星标公众号 重磅干货,第一时间送达 本文将采取动态图+文字描述+正确的java代码实现来讲解以下十大排序算法: 冒泡排序 选择排序 插入排序 希尔排序 归并排 ...

  6. 排序算法:冒泡排序、插入排序、选择排序、希尔排序

    相关博客: 排序算法:冒泡排序.插入排序.选择排序.希尔排序 排序算法:归并排序.快速排序 排序算法:桶排序.计数排序.基数排序 排序算法:堆排序 十大排序算法小结 一.冒泡排序: 1.算法原理: 冒 ...

  7. 十大排序算法:冒泡排序、选择排序、插入排序、希尔排序、归并排序、快速排序、堆排序、计数排序、桶排序、基数排序

    冒泡排序.选择排序.插入排序.希尔排序.归并排序.快速排序.堆排序.计数排序.桶排序.基数排序的动图与源代码. 目录 关于时间复杂度 冒泡排序 选择排序 插入排序 希尔排序 归并排序 快速排序 堆排序 ...

  8. 插入排序算法 java_排序算法实现-插入排序(Java版本)

    原标题:排序算法实现-插入排序(Java版本) 插入排序(英语:Insertion Sort)是一种简单直观的排序算法.它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到 ...

  9. 数据结构与算法:十大排序算法之冒泡排序

    数据结构与算法:十大排序算法之冒泡排序 package array;import java.util.Arrays;//冒泡排序 //1.比较数组中两个相邻的元素,如果第一个数比第二个数大,我们就交换 ...

最新文章

  1. java 图像采集_JAVA B/S通过摄像头采集图片信息解决方案。
  2. 论设计,需求和编码三者的关系
  3. qt通过蓝牙控制单片机_ST发布新款STM32WB55单片机,集成蓝牙5和802.15.4协议...
  4. 视觉SLAM学习--RGB-D SLAM学习(待完善)
  5. 如何自动保存邮件草稿
  6. Hive的索引操作【小结】
  7. 取地址符和解引用符的区别_(&)和解引用(*)运算符的地址以及C中的指针...
  8. Guice之Servlet基础
  9. 去超市一定要存包吗_去东京一定要去的富士河口湖
  10. H5 js 处理localstorage方法封装
  11. Modernizr 浏览器兼容功能检测
  12. 不要被C++“自动生成”所蒙骗
  13. Netty4.0学习笔记系列之二:Handler的执行顺序
  14. atitit.信息系统方案规划 p71.doc
  15. 《21天学通Java(第6版)》—— 2.7 总结
  16. 萤石云摄像头无设备序列号验证码解决办法
  17. Disconnected: No supported authentication methods available(server sent: publickey) 的解决办法
  18. Android文档管理器
  19. 战列舰机械计算机,问个事,二战时期的战列舰可以装备垂直稳定仪么?
  20. 软件设计实验(一)完成UML设计:类图、用例图、时序图

热门文章

  1. 不再单打独斗?中国移动联合多企业组建医疗数据公司
  2. Oracle基础语句
  3. 读取properties
  4. Swans and ducks, Piešťany, Slovakia
  5. 关于Android错误 View requires API level 14 (current...
  6. MYSQL AB复制原理
  7. 《大话存储__网络存储系原理精解与最佳实践》电子书下载
  8. [JavaScript] 正则表达式
  9. 软件开发能力成熟度模型CMM介绍
  10. 网络爬虫--20.【Scrapy-Redis实战】分布式爬虫获取房天下--代码实现