基于Java的冒泡排序法
基本过程:
- 原始顺序是48, 52, -51 ,0 ,67 ,23, -24。
- 开始48和52比较,48<52,则顺序不变;
- 52和-51比较,52>-51,则两者交换位置(48, -51, 52 ,0 ,67 ,23, -24);
- 52和0比较,52>0,则两者交换位置(48, -51, 0 ,52 ,67 ,23, -24;)
- 52和67比较,52<67,则顺序不变;
- 67和23比较,67>23,则两者交换位置(48, -51, 0 ,52 ,23 ,67, -24);
- 67和-24比较,67>-24,则两者交换顺序(48, -51, 0 ,52 ,23 ,-24, 67)。
至此第一轮结束,把最大值67排在最后,接着往下相同方法如此排序,直至形成从小到大的顺序
源码:
public class BubbleSort {public static void main(String[] args) {int[] arr = new int[] {48,52,-51,0,67,23,-24};for(int i = 0;i < arr.length - 1;i++) {for(int j = 0;j < arr.length - 1 - i;j++) {if(arr[j] > arr[j+1]) {int temp = arr[j];arr[j] = arr[j+1];arr[j+1] = temp;}}}for(int i = 0;i < arr.length;i++) {System.out.print(arr[i] + "\t");}}}
运行结果:
说明:关于变量 j 的取值范围,为什么是 arr.length - 1 - i 呢?因为每一次冒泡排序就会出现一个正确的排序数值,下一次排序自然不需要在参与排序,所以在每次排序之前都要除去这个数,例如第二次排序就除去67,第三次排序就除去52、67,第四次就除去48、52、67。
注:大家有什么问题在评论区留言,当天回复!
基于Java的冒泡排序法相关推荐
- 基于JAVA层次分析法食堂评价系统计算机毕业设计源码+系统+lw文档+部署
基于JAVA层次分析法食堂评价系统计算机毕业设计源码+系统+lw文档+部署 基于JAVA层次分析法食堂评价系统计算机毕业设计源码+系统+lw文档+部署 本源码技术栈: 项目架构:B/S架构 开发语言: ...
- Java:冒泡排序法
冒泡排序法是最基本的排序法之一,冒泡排序法的运行机制是通过循环遍历元素并调整相邻元素顺序来实现的一种简单排序方法.冒泡排序的实质是相邻两个元素比较,然后按照升序或降序调换位置. 下为降序冒泡排序的代码 ...
- 冒泡排序法。Java实现冒泡排序法
前言基础: 1.冒泡排序法的时间复杂度为O(n2),空间复杂度为O(1),不需要额外的辅助空间.是一种稳定的排序算法. 2.冒泡实质是不断两两比较,一旦两个相邻的元素是逆序的,就会交换这两个元素的位置 ...
- java数组冒泡排序法编程_java实现数组冒泡排序的方法
java实现数组冒泡排序的方法 发布时间:2020-06-24 09:21:42 来源:亿速云 阅读:82 作者:Leah 本篇文章展示了java实现数组冒泡排序的具体操作,代码简明扼要容易理解,绝对 ...
- java语言冒泡排序法_Java实现八个常用的排序算法:插入排序、冒泡排序、选择排序、希尔排序等...
本文实现了八个常用的排序算法:插入排序.冒泡排序.选择排序.希尔排序 .快速排序.归并排序.堆排序和LST基数排序 首先是EightAlgorithms.java文件,代码如下: import jav ...
- [Java]应用冒泡排序法对数组进行升序排列
[冒泡排序]的思想是比较相邻的元素的值,如果满足条件就交换值. 这里以降序排列为例:如果前面一个元素大于后面一个元素,就交换两者的值,这样一来,大的值就会后移,而较小的值会移动到数组的前面,一轮过后, ...
- java算法之冒泡排序法
冒泡排序法 口诀:外层循环 0到n-1 //控制比较轮数 n 表示元素的个数内层循环 0到n-i-1 //控制每一轮比较次数两两比较做交换 冒泡排序的优点:每进行一趟排序,就会少比较一次,因为每进 ...
- 4001.基于双向链表的双向冒泡排序法
基于双向链表的双向冒泡排序法 发布时间: 2018年11月26日 10:09 时间限制: 1000ms 内存限制: 128M 习题集源码中出现了 temp->next->prior ...
- 冒泡排序法java代码
package 数组; import java.util.Scanner; public class 冒泡排序法 { public static void main(String args[] ...
最新文章
- python之模块csv之CSV文件的写入(按行写入)
- python openstack究竟能干嘛_openstack是什么,能干什么
- Java黑皮书课后题第5章:*5.48(处理字符串)编写一个程序,提示用户输入一个字符串,显示奇数位置的字符
- 图像处理理论(二)——形态学、边缘检测、图像金字塔
- 【音视频安卓开发 (八)】OpenSLES播放音频步骤和接口讲解
- c语言地震子波6,地震子波反褶积程序
- <读书笔记> Thinking in python (Python 设计模式) 3. Proxy and State模式
- 二、CSS基础(1)
- Javascript第三章数组Array常用方法第三课
- activity finish后没有destroy_Activity 基础知识点
- Shiro面试题总结
- 北大学霸的超级学习术: 颠覆传统学习,效率轻松高10倍
- 博途调试g120_两台G120带异步伺服做主从控制,转速控制不好,请问该怎么调试G120...
- 02Windows日志分析
- 如何理解刑法中的“以非法占有为目的”
- 新浪OAuth客户端登陆另辟蹊径
- sql重启oracle数据库,oracle重启数据库sql
- 复合梯形公式C语言程序,求运用c++来实现复合梯形公式的代码
- 前端学习笔记 - HTML+CSS
- 迪克莫利-PLC之父