java冒泡排序的方法代码,冒泡排序菜鸟教程java

  java冒泡排序的方法代码,冒泡排序菜鸟教程java

  本文给大家带来了一些java的知识,主要介绍如何实现冒泡排序。冒泡排序就是比较两个相邻的元素,从列表的开头到结尾,依次比较每一对相邻的元素。下面就来看看吧,希望对你有帮助。

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

  

冒泡排序原理

  比较两个相邻元素。如果第一个比第二个大,交换他们的位置(升序,降序,反之亦然)。

  从列表的开头到结尾,依次比较每对相邻的元素。就这样,值最大的元素通过交换“冒泡”到了列表的末尾,完成了第一轮“冒泡”。

  重复上一步,继续从列表的开头比较相邻的元素。已经“冒泡”的元素不需要比较(一直比较到最后也可以,已经“冒泡”到后面的元素即使比较也不需要交换,没有比较也能减少步骤)。

  从列表中继续比较,每一轮比较都会有一个元素“冒泡”成功。每轮要比较的元素个数会减少,直到只剩下一个元素没有“冒泡”(没有要比较的元素对),列表排序完成。

  

冒泡排序过程

  以这个一维数组为例:

  int[] array=new int[]{55,33,22,66,11 };

第一轮冒泡

  图是第一轮‘冒泡’的数据初始序列柱形图。只要满足条件:“如果前一个元素大于下一个元素,则交换位置序列;否则,不予交换”。Array[0]=55 array[1]=33,满足条件,交换元素的位置顺序如图所示;Array[1]=55 array[2]=22,满足条件,交换元素的位置顺序如图所示;Array[2]=55 array[3]=66。如果不满足条件,则不交换元素的位置顺序,如图所示;Array[3]=66 array[4]=11,满足条件,交换元素的位置顺序如图所示;第一轮“冒泡”演示如图所示:

  

第二轮冒泡

  图为第二轮‘冒泡’的数据初始序列柱形图;Array[0]33 array[1]=22,条件满足,交换元素的位置顺序如图5所示;Array[1]33 array[2]=55,如果不满足条件,则不交换元素的位置顺序,如图;Array[2]55 array[3]=11,条件满足,交换元素的位置顺序如图6所示;第二轮“冒泡”演示如图所示:

  

第三轮冒泡

  图是第三轮‘冒泡’的数据初始序列柱形图;Array[0]=22 array[1]=33,如果不满足条件,则不交换元素的位置顺序,如图6所示;Array[1]=33 array[2]=11,满足条件,交换元素的位置顺序如图所示;第三轮“冒泡”演示如图所示:

  

第四轮冒泡

  图是第四轮‘冒泡’的数据初始序列柱形图;Array[0]=22 array[1]=11。如果满足条件,交换“22”和“11”的位置顺序,如图所示;第四轮“冒泡”演示如图所示:

  至此,数组的冒泡排序过程完成!

  

具体代码实现

   BubbleSort类:

  公共类BubbleSort {

  公共静态void排序(int array[]) {

  //i表示哪一轮“冒泡”,J表示元素“被访问”的索引。

  //在每一轮“冒泡”中,J需要从列表的开头“访问”到array.length-1的位置。

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

  for(int j=0;j数组.长度-1-I;j ) {

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

  int temp=array[j];

  array[j]=array[j 1];

  array[j 1]=temp;

  }

  }

  }

  }}TestMain类

  导入Java . util . arrays;公共类TestMain {

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

  int[] array=new int[]{55,33,22,66,11 };

  //排序前输出数组

  System.out.print(排序前:);

  system . out . println(arrays . tostring(array));

  //调用BubbleSort类中的sort方法对数组array进行排序。

  BubbleSort.sort(数组);

  //输出冒泡排序数组数组

  System.out.print(排序后:);

  system . out . println(arrays . tostring(array));

  }}运行结果如下:

  前:【55,33,22,66,11】后排序:【11,22,33,55,66】推荐学习:《java学习教程》以上是Java实现的冒泡排序的详细内容,有详细图解。请多关注我们的其他相关文章!

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

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