冒泡排序
冒泡排序
** 冒泡排序思想:**
比较两个元素的关键字值,若按升序排序,则每一次将被扫描的数据序列中的最大元素交换到最后位置;
外层循环:进行最多n-1次扫描
内层循环:进行一趟扫描的比较和交换
代码实现:
public static void bubbleSort(int[] table) {
int length = table.length;
for (int i = 1; i < length; i++) {
for (int j = 0; j < length-i; j++) {
if (table[j] > table[j+1]) {
int temp = table[j];
table[j] = table[j+1];
table[j+1] = temp;
}
}
System.out.println("第"+i+"次: ");
for (int k = 0; k < length; k++) {
System.out.print(table[k]+" ");
}
System.out.println("");
}
}
时间复杂度
最好情况:O(n), 最坏:O(n^2)
平均:O(n^2)
空间复杂度
空间复杂度:O(1),是稳定排序方法
作者:starryfeiii
出处:http://www.cnblogs.com/feiii/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,原文链接否则保留追究法律责任的权利。
出处:http://www.cnblogs.com/feiii/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,原文链接否则保留追究法律责任的权利。