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

Java排序算法之冒泡排序

2017-02-12 17:00 183 查看

冒泡排序

1.比较相邻的元素。如果第一个比第二个大,就交换他们两个。

2.对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。

3.针对所有的元素重复以上的步骤,除了最后一个。

4.持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。

public class BubbleSort {
public static void main(String[] args){

int[] testArray={18,49,35,9,29,40};
sortMethed(testArray);//冒泡排序
for(int i=0;i<testArray.length;i++){
System.out.print(testArray[i]+" ");
}

}
public static void sortMethed(int [] array){
int temp=0;
for(int i=0;i<array.length;i++){
for(int j=i+1;j<array.length;j++){
if(array[i]>array[j]){
temp=array[i];
array[i]=array[j];
array[j]=temp;
}
}
}
}
}


打印结果:

9 18 29 35 40 49

性能分析:

若记录序列的初始状态为“正序”,则冒泡排序过程只需进行一趟排序,在排序过程中只需进行n-1次比较,且不移动记录;反之,若记录序列的初始状态为”逆序”,则需进行n(n-1)/2次比较和记录移动。因此冒泡排序总的时间复杂度为O(n*n)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息