JAVA语言冒泡排序算法实例讲解
小标 2018-09-11 来源 : 阅读 1116 评论 0

摘要:本文主要向大家介绍了JAVA语言冒泡排序算法实例讲解,通过具体的内容向大家展示,希望对大家学习JAVA语言有所帮助。

本文主要向大家介绍了JAVA语言冒泡排序算法实例讲解,通过具体的内容向大家展示,希望对大家学习JAVA语言有所帮助。

冒泡排序
原理 : 依次比较相邻的两个数,将小数放在前面,大数放在后面。
复杂度: 最差–>O(n2)/ 平均–> O(n2) /稳定性–> 稳定
示意图 :
原数组:[10, 3, 2, 1, 0, 5, 4, 7, 8, 9]
第1次:[3, 10, 2, 1, 0, 5, 4, 7, 8, 9]
第2次:[3, 2, 10, 1, 0, 5, 4, 7, 8, 9]
第3次:[2, 3, 1, 10, 0, 5, 4, 7, 8, 9]
第4次:[2, 1, 3, 0, 10, 5, 4, 7, 8, 9]
第5次:[1, 2, 0, 3, 5, 10, 4, 7, 8, 9]
第6次:[1, 0, 2, 3, 5, 4, 10, 7, 8, 9]
第7次:[0, 1, 2, 3, 4, 5, 7, 10, 8, 9]
第8次:[0, 1, 2, 3, 4, 5, 7, 8, 10, 9]
第9次:[0, 1, 2, 3, 4, 5, 7, 8, 9, 10]
我们观察 “10 “ 这个数字是不是就像一个气泡慢慢的浮上来了呢!很形象是吧!
代码
public class BubbleSort {  public static void bubble_sort(int arr[]) {  for(int i = 1; i < arr.length; i++) {int temp = 0;for(int j = 1; j <=> arr[j]) {  temp = arr[j-1];  arr[j-1] = arr[j];  arr[j] = temp; }}System.out.print("第" + i + "次:");System.out.println(Arrays.toString(arr));  } }  public static void main(String[] args) {  int arr[] = {10, 3, 2, 1, 0, 5, 4, 7, 8, 9};  // int arr[] = new int[] {10, 3, 2, 1, 0, 5, 4, 7, 8, 9};  System.out.println("原数组:");  System.out.println(Arrays.toString(arr));  BubbleSort.bubble_sort(arr);  System.out.println("现数组:");  System.out.println(Arrays.toString(arr)); } }
结果
原数组:[10, 3, 2, 1, 0, 5, 4, 7, 8, 9]第1次:[3, 10, 2, 1, 0, 5, 4, 7, 8, 9]第2次:[3, 2, 10, 1, 0, 5, 4, 7, 8, 9]第3次:[2, 3, 1, 10, 0, 5, 4, 7, 8, 9]第4次:[2, 1, 3, 0, 10, 5, 4, 7, 8, 9]第5次:[1, 2, 0, 3, 5, 10, 4, 7, 8, 9]第6次:[1, 0, 2, 3, 5, 4, 10, 7, 8, 9]第7次:[0, 1, 2, 3, 4, 5, 7, 10, 8, 9]第8次:[0, 1, 2, 3, 4, 5, 7, 8, 10, 9]第9次:[0, 1, 2, 3, 4, 5, 7, 8, 9, 10]现数组:[0, 1, 2, 3, 4, 5, 7, 8, 9, 10] Process finished with exit code 0

附加
数组的初始化:
// 直接初始化int arr[] = {10, 3, 2, 1, 0, 5, 4, 7, 8, 9};int arr[] = new int[] {10, 3, 2, 1, 0, 5, 4, 7, 8, 9}; //先声明在初始化int[] a = new int[2];//需要指定数组的长度a[0] = 1;a[1] = 2;    

本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注编程语言JAVA频道!

本文由 @小标 发布于职坐标。未经许可,禁止转载。
喜欢 | 0 不喜欢 | 0
看完这篇文章有何感觉?已经有0人表态,0%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程