您现在的位置是:首页 > IT资讯 > 软件教程

冒泡排序算法的运作 冒泡排序算法的运作规则

作者:114手游网 更新时间:2015-06-30 17:30:04 来源:114手游网 推荐内容

关键字:冒泡排序算法的运作 冒泡排序算法的运作规则

 冒泡排序(Bubble Sort)是一种简单的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端。

  冒泡排序算法的运作如下:

  比较相邻的元素。如果第一个比第二个大,就交换他们两个。 对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。

  针对所有的元素重复以上的步骤,除了最后一个。持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。

冒泡排序算法的运作

  package BubbleSort;

  import java.util.Arrays;

  public class Demo01

  {

  //第一版本

  static void BubbleSort(int[] arr){

  int len = arr.length;

  for(int j=0;jarr[i+1]){

  int temp = arr[i];

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

  arr[i+1] = temp;

  }

  }

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

  }

  }

  //第二版本 每一趟减少每一趟的次数

  static void BubbleSortSecond(int[] arr){

  int len = arr.length;

  for(int j=0;jarr[i+1])

  {

  int temp = arr[i];

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

  arr[i+1] = temp;

  }

  }

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

  }

  }

  //第三版本

  /**

  * 最终版:假设数据已经有序,后者经过某趟后有序,减少趟数

  * 如 81234

  * 第一趟 12348

  * 第二趟 12348

  * @param args

  */

  static void BubbleSortThird(int[] arr){

  boolean sorted = true;

  int len = arr.length;

  for(int j=0;jarr[i+1])

  {

  int temp = arr[i];

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

  arr[i+1] = temp;

  sorted = false;//假定失败

  }

  }

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

  if(sorted){

  break;

  }

  }

  }

  public static void main(String[] args) {

  System.out.println("===========1============");

  int[] arr = {9,2,7,3,4};

  BubbleSort(arr);

  System.out.println("===========2============");

  arr = new int[] {9,1,7,3,4};

  BubbleSortSecond(arr);

  System.out.println("===========3============");

  arr = new int[] {9,1,7,3,4};

  BubbleSortThird(arr);

  }

  }

  运行结果:

  ===========1============

  [2, 7, 3, 4, 9]

  [2, 3, 4, 7, 9]

  [2, 3, 4, 7, 9]

  [2, 3, 4, 7, 9]

  ===========2============

  [1, 7, 3, 4, 9]

  [1, 3, 4, 7, 9]

  [1, 3, 4, 7, 9]

  [1, 3, 4, 7, 9]

  ===========3============

  [1, 7, 3, 4, 9]

  [1, 3, 4, 7, 9]

  [1, 3, 4, 7, 9]

小编推荐软件专题

网站服务:

114手游网专题合作 : QQ:1057919599
联系EMAIL :gh@11455.com
(来信时请注明广告投放内容)

@114手游网

114手游网官方微信

Copyright (C) 2023-至今 11455.COM 114手游网, All Rights Reserved 版权声明 | 关于我们 | 联系我们 | 闽ICP备10000470号-8 |网站地图(XML) | 回到顶部↑