您的位置:首页 > 其它

算法基础--冒泡排序

2016-11-10 16:49 176 查看
    最近整理了一些算法相关的东西,有些简单一些,有些却较复杂,处于对这些经典算法的认知,在这里写篇文章记录下,方便大家学习讨论。

     冒泡排序法,顾名思义,原理是对于一个数组,从一侧开始比较相邻的两个数字,大的沉下去,小的飘上来。也就是不符合排序规则的两个数互换位置。

      实例如下:对于    35   67   23    53

     1.   35   67   23   53

     2.   35   23   67   53

     3.   35   23   53   67

     4.  
23   35   53   67

     5.   23  
35   53   67

java版本代码如下

</pre><pre name="code" class="java">import java.util.Random;

public class heapSort {

public static void main(String args[]) {
// buildNum();
bubbleSort();
}

public static void buildNum() {
Random ran = new Random();
for (int i = 0; i < 20; i++) {
System.out.print(ran.nextInt(99) + ",");
}

}

/**
* 冒泡排序法
*/
public static void bubbleSort() {
int a[] = { 17, 66, 83, 4, 9, 24, 35, 11, 13, 8, 27, 39, 69, 66, 46, 1,
5, 7, 70, 59 };
int temp = 0;
int count = 0;
for (int i = 0; i < a.length; i++) {
for (int j = 0; j < a.length - i - 1; j++) {
count++;
if (a[j] > a[j + 1]) {
temp = a[j];
a[j] = a[j + 1];
a[j + 1] = temp;
}
}
}
System.out.println("总步数:" + count);
for (int i = 0; i < a.length; i++)
System.out.print(a[i] + " ");
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: