突然想着写一波Java的常用排序算法,有需要的小伙伴可以关注我一波,我陆续会出Java的常用排序算法。
1. 冒泡排序原理:将被排序的记录数为n的数组r垂直排列,从上往下扫描该数组r,两两相邻的比较,排序逆序就交换,第一次扫描整个数组,数值最大的最后会交换r[n-1]位置上,第二次数值最大的最后会交换r[n-2]位置上,依次类推
简单举例:初始排序:9 7 8 3 第一趟排序结果:7 8 3 9
第二趟:7 3 8 9 第三趟:3 7 8 9
2. 代码
public class suanfa {
public static void maoPao(int array[]){
int temp;
boolean flag=true;
for(int i=1,size=array.length;i<size&&flag;i++){
flag = false;
if(array[j]>array[j+1]){
temp=array[j];
array[j]=array[j+1];
array[j+1]=temp;
flag=true;
}
}
}
for(int j:array){
System.out.print(j+" ");
}
}
public static void main(String args[]){
int a[]={52,39,67,95,70,8,25,52};
maoPao(a);
}
}
代码解析:整个冒泡排序最多进行n-1遍,如果在其中一趟两两比较中,一次交换都没有发生,表明数组有序,即给flag赋值为false。
运行结果:8 25 39 52 52 67 70 95
扫描二维码关注公众号,回复:
1690618 查看本文章
感觉这篇文件对你有点帮助的话,希望你点个赞,谢谢。