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

java冒泡排序经典代码_java冒泡排序[通俗易懂]经典算法——冒泡排序(BubbleSort)一、示例代码(伸手党看这里)1.示例一importjava.util.Arrays;publicclassBubbleSort{publicstaticvoidbubbleSort(int[]arr){inttemp;/*临时变量,交换数据时使用*/intlength=arr.length;for(intp=length-1…

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

经典算法——冒泡排序(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.net/152139.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 二叉树及其三种遍历[通俗易懂]

    二叉树及其三种遍历[通俗易懂]一.二叉树的常用性质1.常用性质<1>.在二叉树的第i层上最多有2^(i-1)个节点。(i>=1)<2>.二叉树中如果深度为k(有k层),那么最多有2^k-1个节点。(k>=1)<3>.若二叉树按照从上到下从左到右依次编号,则若某节点编号为k,则其左右子树根节点编号分别为2k和2k+1;<4>.二叉树分类:满二叉树…

    2022年5月6日
    191
  • hint什么意思啊_unable to sendviapost to url

    hint什么意思啊_unable to sendviapost to url我先说下我的场景测试号群发图文消息答案是不能但是微信返回的错误信息是{“errcode”:40008,”errmsg”:”invalidmessagetypehint:[6MkYZa03824811]”}但是我检查了我的数据应该没问题,所以应该就是测试号不能群发,后面我在开发社区看到帖子原地址还有问了一下我们技术老大也证实了不能,至于微信的返回的错误码,暂时一米哇干奶…

    2022年5月3日
    52
  • python py生成及调用pyc文件「建议收藏」

    python py生成及调用pyc文件「建议收藏」本文仅供学习交流使用,如侵立删!联系方式及demo下载见文末pythonpy文件中调用pyc文件1.生成pyc文件#目录下所有py文件生成pycimportcompileallcompileall.compile_dir(‘D:\python项目\ceshi’)#py生成pyc文件importpy_compilepy_compile.compile(‘proxy.py’)2.py文件调用pyc1.将生成的pyc文件名修改成和py文件一样(如:test_pay

    2022年6月15日
    61
  • charles导致mac无法上网_手机能上网mac不能上网

    charles导致mac无法上网_手机能上网mac不能上网前言charles关闭后,发现网页突然打开了,那大概率是设置了代理,但明明已经关闭了charles,这是由于mac网络偏好设置中,使用的是手动代理,将其改为自动即可解决方法1打开网络偏好设置,

    2022年8月6日
    3
  • HDU-1498-50years,50colors(最大匹配, 枚举)

    HDU-1498-50years,50colors(最大匹配, 枚举)

    2021年7月6日
    86
  • h3c s2000交换机配置命令_华三两台交换机做dhcp

    h3c s2000交换机配置命令_华三两台交换机做dhcp
    一、 组网需求:
    Switch的端口Ethernet1/0/5与DHCP服务器端相连,端口Ethernet1/0/1,Ethernet1/0/2,Ethernet1/0/3分别与DHCPClientA、DHCPClientB、DHCPClientC相连。
    (1)在Switch上开启DHCPSnooping功能。
    (2)设置Switch上端口Ethernet1/0/5为DHCPSnooping信任端口。
    (3)在Switch

    2022年10月15日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号