java冒泡排序从小到大,Java冒泡排序法

  java冒泡排序从小到大,Java冒泡排序法

  本文为新手介绍JAVA冒泡排序的方法。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。

  如何解决写爬虫IP受阻的问题?立即使用。

  冒泡排序是计算机科学领域中一种简单的排序算法。

  它重复地访问需要排序的元素,依次比较两个相邻的元素,如果元素的顺序(例如从大到小,从A到Z的首字母)是错误的,则互换元素的位置。

  重复访问元素,直到相邻位置没有需要交换位置的元素,排序完成。

  这种算法的名字来源于较大的元素会通过交换慢慢“浮”到数列的顶端(按升序或降序),就像碳酸饮料中二氧化碳的气泡最终会浮到顶端一样,因此得名“气泡排序”。

  看理论可能有点混乱,没关系。接下来我们来详细了解一下冒泡排序是如何比较排序的~

  排序思路

  比较,从小到大排序,小的向前换。

  I代表从头到尾遍历循环数据。

  实现冒泡排序

  创建类:BubbleSort.java

  包cn . tedu . array;导入Java . util . arrays;/* *此类用于完成冒泡排序*/公共类TestBubbleSort {

  公共静态void main(String[] args) {

  //1.创建一个无序数组

  int[] a={27,96,73,25,21 };

  //2.调用方法()完成排序

  int[] newA=方法(a);

  system . out . println( sorted: arrays . tostring(newA));

  }

  公共静态int[]方法(int[] a) {

  //1.外环,控制比较的轮数,假设有N个数,最多比较n-1次。

  //开始值:1结束值:=a.length-1变化:

  //控制循环执行的次数,比如5个数字。最多比较4轮,=a.length-1,最多得到4,即[1,4]4次。

  for(int I=1;I=a . length-1;i ) {

  system . out . println( I 轮:);

  //2.内层循环:相邻比较和交换位置。

  for(int j=0;j . a . length-I;j ) {

  //相邻比较,a[j]代表前一个元素,a[j 1]代表后一个元素。

  if(a[j] a[j 1]) {

  //交换数据

  int t=a[j];

  a[j]=a[j 1];

  a[j ^ 1]=t;

  //system . out . println( arrays . tostring(a)在(j 1)比较交换之后);

  }

  }

  system . out . println( I 轮的结果: arrays . tostring(a));

  }

  返回a;//返回排序后的数组a。

  }}其实我们还可以优化现有的排序:

  1:优化:前几轮排序产生的最大值不需要参与后面几轮的比较。经过几轮排序,会产生几个不参与比较的值。I轮产生I值,所以需要-i。

  2:优化:我们需要设置一个量,用来检测当前一轮相互比较中是否存在元素的交换位置。如果有交换,说明序列还没有排好,下一轮比较会把标志改成true。但如果本轮所有元素都已经相互比较过,没有交换位置,则说明序列已经安排好了,下一轮比较就没有必要了。只需返回end方法。

  相关免费学习推荐:java基础教程以上是新手小白如何学习JAVA冒泡排序的细节。更多请关注我们的其他相关文章!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: