冒泡排序

来源:互联网 发布:凌雪网络 编辑:程序博客网 时间:2024/05/21 16:59

1:冒泡排序

对几个无序的数字进行排序,比较常用的方法是冒泡排序法。冒泡法排序是一个比较简

单的排序方法,在待排序的数列基本有序的情况下排序速度较快。

基本思路:对未排序的各元素从头到尾依次比较相邻的两个元素是否逆序(与欲排顺序

相反),若逆序就交换这两元素,经过第一轮比较排序后便可把最大(或最小)的元素排好,

然后再用同样的方法把剩下的元素逐个进行比较,就得到了你所要的顺序。

可以看出如果有 N 个元素,那么一共要进行 N-1 轮比较,第 I 轮要进行 N-I 次比较。如:

有 5 个元素,则要进行 5-1 轮比较。第 3 轮则要进行 5-3 次比较)

示例如下:

public    class Test {  

public    static     void main(String[] args) {

//需要排序的数组,目前是按照升序排列的

int a[] = new  int[5];

a[0] = 3;

a[1] = 4;

a[2] = 1;

a[3] = 5;

a[4] = 2;

 

//冒泡排序

for(int i=0;i<a.length;i++){

for(int j=i+1;j<a.length;j++){//注意j的开始值是i+1,因为按照排序

规则,比a[i]大的值都应该在它后面

if(a[i] > a[j]){

int temp = a[j];

a[j] = a[i];

a[i] = temp;

}

}

}

//检测一下排序的结果

for(int i : a){

System.out.println("i="+i);

}

}

}

运行结果:

i=1

i=2

i=3

i=4

i=5