Java中的冒泡排序(减少比较次数)
package yzhou.sort;import java.util.Arrays;public class BubbleSort {public static void main(String[] args){int[] arr ={ 9, 1, 2, 5, 4 };sort(arr);System.out.println(Arrays.toString(arr));}// 减少每一趟的次数public static void sort(int[] arr){boolean sorted = true;int len = arr.length;for (int j = 0; j < len - 1; j++){sorted = true;System.out.println("第" + j + "趟");for (int i = 0; i < len - 1 - j; i++){System.out.println("第" + (i + 1) + "次");if (arr[i] > arr[i + 1]){int temp = arr[i];arr[i] = arr[i + 1];arr[i + 1] = temp;sorted = false;}System.out.println(Arrays.toString(arr));}if(sorted){break;}}} }
boolean sorted = true; 作用:
冒泡排序,for循环始终比较两者之间的大小
先定义个boolean类型变量,假设等于 true,意思是:有些数据已经排序好,不要在去比较了
int[] 1,2,3,4,6
1 比较2 sorted = true;
2 比较3 sorted = true;
3 比较4 sorted = true;
4 比较6 sorted = true;
当sorted = true ,意味着,这些数据,已经排好序,小的在左边,大的在右边,不然,if条件成立的话,sorted = false;
int[] 1,3,2,7,8
1 比较3 sorted = true;
3 比较2 sorted = false;
…….
if条件成立,sorted = false,,说明,当前的数组中,有部分数据的左边大于右边
转载于:https://www.cnblogs.com/zychengzhiit1/p/4808983.html
Java中的冒泡排序(减少比较次数)相关推荐
- Java中的冒泡排序,Comparator接口和Comparable接口的简单使用
冒泡排序 冒泡排序是一种常见的排序方法,按照一定的规则(比如从小到大或者从大到小的顺序)对一组数据进行排序.而在Java开发中,也经常用到冒泡排序.我们就以下面的一个例子来讲解冒泡排序算法. 给定一个 ...
- Java中统计字符出现的次数
我们面试通常会遇到,有一个字符串,如何统计出每个字符出现的次数,这样的题目.下面利用map集合存储进行统计每个字符出现的频次. 代码如下: public static void main(String ...
- java冒泡排序内外循环_java中的冒泡排序、for循环的嵌套使用以及接口与抽象类的区别。...
一.java冒泡排序. java中的冒泡排序为一种简单的交换排序方法.其基本思路是从头开始扫描需要排序的元素,在扫描的过程中依次的对相邻的元素进行比较,将关键字值大的元素后移,每经过一趟排序后,关键值 ...
- java排序链表冒泡排序_Java中的冒泡排序
java排序链表冒泡排序 Java Sorting is one of the many aspects of java interview questions. In this post, we w ...
- Java中实现的各种排序算法
Java中的冒泡排序算法 package cn.edu.hactcm; /** * 冒泡排序算法 */ public class BubbleSortDemo { public static void ...
- java 线性回归算法_线性搜索或顺序搜索算法在Java中如何工作? 示例教程
java 线性回归算法 大家好,之前,我讨论了二进制搜索算法的工作原理,并分享了在Java中实现二进制搜索的代码. 在那篇文章中,有人问我是否还有其他搜索算法? 如果数组中的元素未排序,又该如何使用它 ...
- 线性搜索或顺序搜索算法在Java中如何工作? 示例教程
大家好,我之前谈到了二进制搜索算法的工作原理,并分享了在Java中实现二进制搜索的代码. 在那篇文章中,有人问我是否还存在其他搜索算法? 如果数组中的元素未排序,又如何使用二进制搜索算法,该如何搜索呢 ...
- java实现递归算法_如何在Java中实现二进制搜索算法而无需递归
java实现递归算法 by javinpaul 由javinpaul 流行的二进制搜索算法的迭代实现,用于在排序数组中查找元素. (An Iterative implementation of the ...
- Java中的经典算法之冒泡排序(Bubble Sort)
Java中的经典算法之冒泡排序(Bubble Sort) 原理:比较两个相邻的元素,将值大的元素交换至右端. 思路:依次比较相邻的两个数,将小数放在前面,大数放在后面.即在第一趟:首先比较第1个和第2 ...
最新文章
- vue缓存页面【二】
- C++ Primer 读书笔记 (1)
- 6 Java Shell排序
- Vue.js 实践(2):实现多条件筛选、搜索、排序及分页的表格功能
- zabbix-proxy分布式监控配置
- 心理正常与异常的区分_心理正常与心理异常的区别是什么呢
- Nexus【环境搭建 01】CentOS 7.5 环境下搭建私有Maven仓库实录(启动问题处理+安装文件 nexus-3.4.0-02-unix.tar.gz 云盘链接)
- linux下产生core文件以及不产生core文件的条件
- 玩转mini2440开发板之【linux内核的编译和下载】
- 回顾 | 在 GitHub 上贡献到开源项目
- python的repl模式_如何更改sublimeREPL默认python版本
- 使用JAVA来获得本日,本周,本月,本年的时间信息
- eclipse报错:“start ruble bundle manager”解决方法
- 三维重建——相机几何参数标定
- Python字符串、元组、列表、字典互相转换的方法
- Flutter异常Another exception was thrown: A RenderFlex overflowed by 5.0 pixels on the bottom解决方案
- 如何解决Word里插入图片会被压缩
- centos 内网ip 设置_CentOS7 设置局域网固定IP
- 设计并实现“恺撒密码”--简单版
- 推荐系统相关顶会整理