首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >java冒泡排序经典代码_java冒泡排序[通俗易懂]

java冒泡排序经典代码_java冒泡排序[通俗易懂]

作者头像
全栈程序员站长
发布2022-06-25 14:20:38
发布2022-06-25 14:20:38
8770
举报

大家好,又见面了,我是你们的朋友全栈君。

经典算法——冒泡排序(Bubble Sort)

一、示例代码(伸手党看这里)

1.示例一

importjava.util.Arrays;public classBubbleSort {public static void bubbleSort(int[] arr){int temp; /*临时变量,交换数据时使用*/

int length =arr.length;for(int p = length-1; p > 0; p–){ /*需要进行N-1(数组长度减一)趟排序*/

for(int i = 0; i < p; i++){ /* 开始排序 */if(arr[i] > arr[i+1]){//进行位置交换

temp =arr[i];

arr[i]= arr[i+1];

arr[i+1] =temp;}

}

}

}public static voidmain(String[] args) {int[] a = {10, 2, 5, 7, 23, 59, 3};

bubbleSort(a);

System.out.println(Arrays.toString(a));

}

}

当然,上面的代码可以小小的优化一下。

在使用冒泡排序的时候有可能会遇到这样一种情况:某一趟排序从头到尾,数组中的数字都没有发生位置交换。

那么上面这种情况说明了什么呢?说明了在经过上一趟的排序后,整个数组就已经被排好序了。

这么说的话原来计划的N-1趟排序我们是不是可以不用跑满了?是的!

所以可以优化的地方是:在每一趟排序排完后,看一下这一趟有没有发生数字位置

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/152139.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档