思路

将序列当中的左右元素,依次比较,保证右边的元素始终大于左边的元素;( 第一轮结束后,序列最后一个元素一定是当前序列的最大值;)

对序列当中剩下的n-1个元素再次执行步骤1。

对于长度为n的序列,一共需要执行n-1轮比较

时间复杂度

最佳情况:T(n) = O(n) 最差情况:T(n) = O(n2) 平均情况:T(n) = O(n2)

代码

import java.util.Arrays;

/**

* 冒泡排序

* @author remainsu

* @version 1.0 2019-05-29

*/

public class BubbleSort {

/**

* 排序方法

* @param arr 要排序的数组

* @return toString 方便输出

*/

public static String bubbleSort(int[] arr) {

int tmp;

//int count = 0;

// 冒泡次数

for(int a=0; a

//count = a+1;

boolean flag = false;

// 比较未移动的

for(int b=0; b

// 后面的小于前面的,则互换位置

if(arr[b+1] < arr[b]) {

tmp = arr[b];

arr[b] = arr[b+1];

arr[b+1] = tmp;

//有数据移动,则状态标位true

flag = true;

}

}

//没有数据移动,即数组已经有序,直接退出

if(!flag) break;

}

//System.out.println("冒泡的次数:"+ count);

return Arrays.toString(arr);

}

public static void main(String[] args) {

int[] arr = {111, 3, 5, 52, 74, 312, 75, 3, 764, 3, 2111, 7, 31};

//int[] arr = {1,2,10,3,4,5,6,7,8,9};

System.out.println("排序后的数组:"+ bubbleSort(arr));

}

参考

java的冒泡_java 冒泡排序相关推荐

  1. java的冒泡_Java实现冒泡排序

    Java实现冒泡排序 Java实现冒泡排序 冒泡排序是一种不断交换相邻的元素的排序,一些元素在不断得被交换中,就像水中冒泡一样,因此得名冒泡排序. 1.比较相邻的元素,如果前面元素比后面元素要小,那么 ...

  2. java:数组的冒泡排序

    eclipse使用Java实现数组的冒泡排序 文章目录 前言 方案 代码实现 前言 声明一个数组,包含10个元素,给每个元素赋值0~99的随机整数,使用冒泡算法对数组进行升序排序,并输出排序后的值 方 ...

  3. java实现排序(2)-冒泡排序

    引言 也许冒泡排序,一个刚出大学的的程序员可能写的出来,反而工作了几年的老程序员可能会写不出来,你还写的出来么?在本篇博文中,详细介绍了冒泡排序的概念,同时用数组和双向链表来实现,附带一种通俗的优化方 ...

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

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

  5. 用java的io做一个代码计数器,如何制作Java页面计数器_java

    大庆采油六厂采油工艺研究所 王兵 王波 常常逛WWW的人,一定对许多起始页上的计数器感兴趣.每当你光临某个站点的起始页时,它的计数器就很亲切地告诉你,从某年某月某日开始,你是第几位光临的人.你可能也想 ...

  6. java常用算法之冒泡排序简单例子

    为了更好的理解冒泡排序过程,下面举一个实例. 初始数组 118 101 105 127 112 一次排序 101 118 105 112 127 二次排序 101 105 118 112 127 三次 ...

  7. 【源码+图片素材+详细教程】Java游戏开发_Java开发经典游戏飞翔的小鸟_飞扬的小鸟_Java游戏项目Flappy Bird像素鸟游戏_Java课程设计项目

    课程目标: 1.通过本课程的学习巩固Java的相关基础知识,例如循环判断,数组和集合的使用,对象的继承,接口的实现,窗口的创建,事件监听,图形绘制. 2.完成小鸟的移动,管道自动生成.碰撞死亡,计分系 ...

  8. java float转换_Java float转换为String

    Java将float转换为String 我们可以使用String.valueOf()和Float.toString()方法在Java中将float转换为String. 情境 如果必须在文本字段中显示浮 ...

  9. 【源码+教程】Java桌球游戏_Java初级项目_Java练手项目_Java项目实战_Java游戏开发

    今天分享的Java开源游戏项目是桌球游戏,初学者也可以用来练习喔~课程详细讲解了一个桌球游戏的编写思路和流程,即使你刚学Java没多久,也可以跟随该教程视频完成属于你自己的桌球游戏!同时,还可以加深和 ...

最新文章

  1. Spring+XFire WS-Security安全认证开发感悟
  2. 最大似然估计和最大后验概率估计的理解与求解
  3. 领扣(LeetCode)对称二叉树 个人题解
  4. css3 animation
  5. Redis常用API-使用文档
  6. 2016可信云大会进入倒计时 顶级“参会攻略”强势来袭
  7. Docker基本概念与实践(四)-部署简单web项目(tomcat+war+mysql)
  8. BAT中删除整个目录的办法
  9. SQL server 2008 r2导入数据
  10. android 美妆相机,Android类似美妆相机高级美妆列表
  11. Azure CDN 服务详解
  12. 如何将分表汇总到总表_EXCEL如何将分表中的数据汇总到总表 - 卡饭网
  13. 【数理称谓】数术记遗
  14. 计算机辅助地理教学的内容,信息技术辅助地理教学
  15. 如何使用 forestplot 包绘制森林图展示多个效应的大小
  16. [行人重识别论文阅读]无监督学习发展与小结
  17. Android判断手机的电池状态
  18. 2022-2028年中国健康险行业市场发展现状及竞争格局预测报告
  19. 热图(Heatmap)绘制(matplotlib与seaborn)
  20. Android 收音机相关知识

热门文章

  1. 文件服务器登入,密钥文件登录云服务器
  2. linux的实际作用是什么,libcxxabi在linux下有意义吗?有什么好处?
  3. owncloud mysql版本_Linux Deploy Owncloud php7.0+apache2+mysql5.7+owncloud9.1
  4. css两列显示,div+css如何控制信息分两列显示?
  5. c语言实现输入任何十进制数,转换为相对应的2进制数 递归,我做的是这个C语言程序:采用递归方法,实现将十进制整数转换成二进制数(含整数部分与小数部分)...
  6. qtableview与sqlite使用显示科学计算_使用MATLAB Profiler提升程序运行的效率
  7. java checker_java 英文单词纠正校验框架(Word Checker)
  8. 分页的limit_Presto分页功能概述
  9. 图片配置文件设置 索尼a7s2_16组Sony索尼系列相机Slog2和Slog3常用Vlog灰片视频电影LTUS调色预设...
  10. linux程序改ip地址吗,如何在Linux中从C设置IP地址