java数据结构与算法之冒泡排序详解
本文实例讲述了java数据结构与算法之冒泡排序。分享给大家供大家参考,具体如下:
前面文章讲述的排序算法都是基于插入类的排序,这篇文章开始介绍交换类的排序算法,即:冒泡排序、快速排序(冒泡排序的改进)。
交换类的算法:通过交换逆序元素进行排序的方法。
冒泡排序:反复扫描待排序记录序列,在扫描的过程中,顺次比较相邻的两个元素的大小,若逆序就交换位置。
算法实现代码如下:
packageexp_sort; publicclassBubbleSort{ publicstaticvoidbubble(intarray[]){ booleanchange=true; for(inti=0;iarray[j+1]){ inttemp=array[j]; array[j]=array[j+1]; array[j+1]=temp; change=true; } } } for(inti=0;i 算法分析:最好的情况是,需要排序的初始状态是正序排列的,则一趟扫描即可完成,此时时间复杂度是O(n);最坏情况是,需要排序的初始状态是反序的,则需要n-1趟扫描,此时时间复杂度是O(n^2),空间复杂度是O(1);该算法是一种稳定的排序方法。
更多关于java算法相关内容感兴趣的读者可查看本站专题:《Java数据结构与算法教程》、《Java操作DOM节点技巧总结》、《Java文件与目录操作技巧汇总》和《Java缓存操作技巧汇总》
希望本文所述对大家java程序设计有所帮助。