一步步学习数据结构和算法之冒泡排序效率分析及java实现
2014-04-03 21:49
639 查看
冒泡排序效率分析及java实现:
public class BubbleSort { /** * 冒泡排序原理:冒泡排序的关键点在于元素两两比较并交换位置,每一轮的比较可以确定一个最大或者最小元素 * 冒泡排序时间复杂度:其需要比较的次数为n(n-1)/2 空间占用率为O(1) * 在最差的情况下即元素逆序其需要比较的次数和元素移动的次数相等 * * 当然可以对冒泡排序进行一定的优化,添加一个标志位,如果一次循环下来,没有发生任何元素位置的交换,
*这是序列为有序,结束冒泡比较 * @param array */ public int[] bubbleSort(int[] array) { int i,j,temp,len=array.length; boolean flag=true; for(i=0;i<len&&flag;i++) { flag = false; //如果在一次循环中该关键字始终为true,那么该序列为有序序列,循环终止 for(j=len-1;j>i;j--) { if(array[j-1]>array[j]) //比较并交换 { temp = array[j-1]; array[j-1] = array[j]; array[j] = temp; flag = true; } } } return array; } /*** * 打印排序结果 */ public void print(int[] array ) { for(int i=0;i<array.length;i++) { System.out.print(array[i]+","); } } public static void main(String[] args) { BubbleSort bs = new BubbleSort(); int[] array = {1,5,9,3,4,18,7,6}; bs.print(bs.bubbleSort(array)); } }
相关文章推荐
- 一步步学习数据结构和算法之堆排序效率分析及java实现
- 一步步学习数据结构和算法之常用排序效率分析及java实现
- 一步步学习数据结构和算法之快速排序效率分析及java实现
- 一步步学习数据结构和算法之快速排序效率分析及java实现
- 一步步学习数据结构和算法之选择排序效率分析及java实现
- 一步步学习数据结构和算法之直接插入排序效率分析及java实现
- 一步步学习数据结构和算法之折半插入排序效率分析及java实现
- 一步步学习数据结构和算法之希尔排序效率分析及java实现
- 一步步学习数据结构和算法之归并排序效率分析及java实现
- 数据结构学习之冒泡排序Java实现
- java实现三种冒号算法的效率分析
- 【Java数据结构学习笔记之三】Java数据结构与算法之队列(Queue)实现
- 经典内部排序算法学习总结(算法思想、可视化、Java代码实现、改进、复杂度分析、稳定性分析)
- 数据结构和算法分析java--优先队列(堆实现)
- 数据结构-冒泡排序(Python&java实现)
- java实现排序算法之冒泡排序
- 数据结构与算法——三种基础排序算法C#实现(冒泡排序、选择排序、插入排序)
- 【算法与数据结构】二叉搜索树的Java实现
- web前端学习笔记-瀑布流的算法分析与代码实现
- 一致性哈希算法学习及JAVA代码实现分析