您的位置:首页 > 其它

算法(二)冒泡排序

2014-11-02 10:14 218 查看
在上一篇中我们讨论了选择排序算法,本篇我们一起讨论下关于冒泡排序的算法,他也是属于蛮力算法的一种。

在一个可排序的列表中,我们每一次只比较相邻的元素,如果两者之间为逆序的话,我们就交换,这样我就把最大的元素沉到最底部,接下来我们就可以把第二大元素沉下去,算法直到所有元素漂浮到自己应该在的位置,则结束算法。

由于算法比较次数多,我们在这里只列举出两轮比较,展示给大家,以此类推就可以得出其他的结果:

eg:

第一轮:

89 45 68 90 29 34 17

45 89 68 90 29 34 17

45
68 89 90 29 34 17

45 68 89
29 90 34 17

45 68 89 29
34 90 17

45 68 89 29 34
17 90

第二轮:

45 68
29 89 34 17 90

45 68 29 34 89 17 90

45 68 29 34
17 89 90

package gzw.pkg1;

/**
* Created by gzw on 2014/11/2.
*/
public class BubbleSort {

public static void main(String [] agrs){

int i,j,temp;
int arry[] = {89,45,68,90,29,34,17};

for(i = 0;i<arry.length-1;i++){

for(j = 0;j<arry.length-1-i;j++){

if(arry[j+1] < arry[j]){

temp = arry[j+1];
arry[j+1] = arry[j];
arry[j] = temp;
}
}
}
for(i = 0;i<arry.length;i++){

System.out.print(" "+arry[i]);
}
}
}


It is never too late to be what you might have been.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: