您的位置:首页 > 编程语言 > Java开发

java冒泡排序Bubble sort

2016-07-04 10:23 260 查看

经典排序算法-冒泡排序Bubble sort

原理是临近的数字两两进行比较,按照从小到大或者从大到小的顺序进行交换,

这样一趟过去后,最大或最小的数字被交换到了最后一位,然后再从头开始进行两两比较,直到倒数第二位时结束,其余类似看例子

例子为从小到大排序,

原始待排序数组|6|2|4|1|5|9|

第一趟排序(外排序)

第一次两两比较6>2交互(内循环)

当前状态|6|2|4|1|5|9|

交换后状态|2|6|4|1|5|9|

第二次两两比较6>4交换

当前状态|2|6|4|1|5|9|

交换后状态|2|4|6|1|5|9|

以此类推第一趟排序结果|2|4|1|5|6|9|

第二趟排序(外循环)

第一次两两排序2<4不交换

第二次两两比较4>1交换

当前状态|2|4|1|5|6|9|

交换后状态||2|1|4|5|6|9|

一次类推最终结果1 2 4 5 6 9

static void bubbleSort(int[] a){
int flag1=0,flag2=0;
while(true){
for(int i=0;i<a.length-1;i++){
if(a[i]>a[i+1]){
flag1 = flag1+1;
int temp = a[i];
a[i] = a[i+1];
a[i+1] = temp;
}
}
//当数据交换次数为0时,结束排序
if(flag1!=flag2){
flag2 = flag1;
}else{
break;
}
}




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