您的位置:首页 > 其它

常见排序算法之冒泡排序

2017-07-20 15:51 127 查看
冒泡排序与选择排序一样是一种十分基础的排序算法,也是一种交换排序.

4.冒泡排序:

算法思想:

(1)依然将线性表看成两部分有序表与无序表,开始是,整个线性表为无序表.

(2)第一趟排序,从第一个元素开始,到最后一个元素,相邻元素依次两两比较,前一个元素比较大则两两交换.一趟排序以后,最大的元素,像冒泡一样,已经排到了线性表的最后一个元素.

(3)经过n-1次选择过程,将得到一个有序线性表

示意图



代码示例

/**
* @param array
* 冒泡排序
*/
public static void bubbleSort(int[] array) {
for(int i=0;i<array.length-1;i++){
for(int j=1;j<=array.length-1-i;j++){
if(array[j-1]>array[j]){
swap(j-1, j, array);
}
}
}
}


交换函数

/**
* @param i
* @param j
* @param array
*/
private static void swap(int i, int j,int [] array) {
int temp=array[i];
array[i]=array[j];
array[j]=temp;
}


算法性能分析

与选择排序一样,最好,最坏,平均时间复杂度均为O(n2)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: