java的冒泡_java 冒泡排序
思路
将序列当中的左右元素,依次比较,保证右边的元素始终大于左边的元素;( 第一轮结束后,序列最后一个元素一定是当前序列的最大值;)
对序列当中剩下的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 冒泡排序相关推荐
- java的冒泡_Java实现冒泡排序
Java实现冒泡排序 Java实现冒泡排序 冒泡排序是一种不断交换相邻的元素的排序,一些元素在不断得被交换中,就像水中冒泡一样,因此得名冒泡排序. 1.比较相邻的元素,如果前面元素比后面元素要小,那么 ...
- java:数组的冒泡排序
eclipse使用Java实现数组的冒泡排序 文章目录 前言 方案 代码实现 前言 声明一个数组,包含10个元素,给每个元素赋值0~99的随机整数,使用冒泡算法对数组进行升序排序,并输出排序后的值 方 ...
- java实现排序(2)-冒泡排序
引言 也许冒泡排序,一个刚出大学的的程序员可能写的出来,反而工作了几年的老程序员可能会写不出来,你还写的出来么?在本篇博文中,详细介绍了冒泡排序的概念,同时用数组和双向链表来实现,附带一种通俗的优化方 ...
- Java排序算法:冒泡排序
Java排序算法:冒泡排序 //创建数组并赋值int[] data = new int[] {11,10,55,78,100,111,45,56,79,90,345,1000};for(int i=0 ...
- 用java的io做一个代码计数器,如何制作Java页面计数器_java
大庆采油六厂采油工艺研究所 王兵 王波 常常逛WWW的人,一定对许多起始页上的计数器感兴趣.每当你光临某个站点的起始页时,它的计数器就很亲切地告诉你,从某年某月某日开始,你是第几位光临的人.你可能也想 ...
- java常用算法之冒泡排序简单例子
为了更好的理解冒泡排序过程,下面举一个实例. 初始数组 118 101 105 127 112 一次排序 101 118 105 112 127 二次排序 101 105 118 112 127 三次 ...
- 【源码+图片素材+详细教程】Java游戏开发_Java开发经典游戏飞翔的小鸟_飞扬的小鸟_Java游戏项目Flappy Bird像素鸟游戏_Java课程设计项目
课程目标: 1.通过本课程的学习巩固Java的相关基础知识,例如循环判断,数组和集合的使用,对象的继承,接口的实现,窗口的创建,事件监听,图形绘制. 2.完成小鸟的移动,管道自动生成.碰撞死亡,计分系 ...
- java float转换_Java float转换为String
Java将float转换为String 我们可以使用String.valueOf()和Float.toString()方法在Java中将float转换为String. 情境 如果必须在文本字段中显示浮 ...
- 【源码+教程】Java桌球游戏_Java初级项目_Java练手项目_Java项目实战_Java游戏开发
今天分享的Java开源游戏项目是桌球游戏,初学者也可以用来练习喔~课程详细讲解了一个桌球游戏的编写思路和流程,即使你刚学Java没多久,也可以跟随该教程视频完成属于你自己的桌球游戏!同时,还可以加深和 ...
最新文章
- Spring+XFire WS-Security安全认证开发感悟
- 最大似然估计和最大后验概率估计的理解与求解
- 领扣(LeetCode)对称二叉树 个人题解
- css3 animation
- Redis常用API-使用文档
- 2016可信云大会进入倒计时 顶级“参会攻略”强势来袭
- Docker基本概念与实践(四)-部署简单web项目(tomcat+war+mysql)
- BAT中删除整个目录的办法
- SQL server 2008 r2导入数据
- android 美妆相机,Android类似美妆相机高级美妆列表
- Azure CDN 服务详解
- 如何将分表汇总到总表_EXCEL如何将分表中的数据汇总到总表 - 卡饭网
- 【数理称谓】数术记遗
- 计算机辅助地理教学的内容,信息技术辅助地理教学
- 如何使用 forestplot 包绘制森林图展示多个效应的大小
- [行人重识别论文阅读]无监督学习发展与小结
- Android判断手机的电池状态
- 2022-2028年中国健康险行业市场发展现状及竞争格局预测报告
- 热图(Heatmap)绘制(matplotlib与seaborn)
- Android 收音机相关知识
热门文章
- 文件服务器登入,密钥文件登录云服务器
- linux的实际作用是什么,libcxxabi在linux下有意义吗?有什么好处?
- owncloud mysql版本_Linux Deploy Owncloud php7.0+apache2+mysql5.7+owncloud9.1
- css两列显示,div+css如何控制信息分两列显示?
- c语言实现输入任何十进制数,转换为相对应的2进制数 递归,我做的是这个C语言程序:采用递归方法,实现将十进制整数转换成二进制数(含整数部分与小数部分)...
- qtableview与sqlite使用显示科学计算_使用MATLAB Profiler提升程序运行的效率
- java checker_java 英文单词纠正校验框架(Word Checker)
- 分页的limit_Presto分页功能概述
- 图片配置文件设置 索尼a7s2_16组Sony索尼系列相机Slog2和Slog3常用Vlog灰片视频电影LTUS调色预设...
- linux程序改ip地址吗,如何在Linux中从C设置IP地址