排序1-冒泡排序
来源:互联网 发布:四知先生 编辑:程序博客网 时间:2024/06/12 00:02
排序的分类:
内部排序与外部排序。按照排序过程中所涉及的存储器的不同可分为内部排序和外部排序。内部排序是指待排序序列完全存放在内存中进行的排序过程,这种排序方法适合于数据量不太大的数据元素的排序。外部排序是指待排序的数据元素非常多,以至于它们必须存储在外部存储器上,这种排序需要访问外存储器,这样的排序称为外排序。
冒泡排序:
实例:如果要对一队棒球队员进行身高的排序,应该怎样做呢?
冒泡排序所采用的思路是:
1.从最左边的(1,2)两个队员开始比较。
2.如果左边的队员高,则两队员交换位置
3.沿着这个规则再依次比较(2,3) 和 (3,4)…………..一直比较到最右端。这样就把身高最高的队员排在最右边了。(完成第一躺排序,会进行最少0次,最多n-1次比较)
4.重新回到队列左端进行第二趟排序,重复上述过程。
程序代码:
public class BobbleSortTest{ public static void main(String[] args) { //待排序数组元素 int array[] ={159,178,168,150,187,164,167,188,177,173}; //排序算法 //外层循环控制比较次数 ,最多比较的是n-1次(也就是最差情况).第二次比较时,最后一个元素就不用再比较了,依次类推 for(int i=0;i<array.length - 1;i++) { //真正的用于控制两个元素两两比较,array.length-i-1的意思就是已经放在最后的元素不需要再比较了。 for(int j=0;j<array.length-i-1;j++) { if(array[j]>array[j+1]) //如果前面元素大于后面元素,执行交换 { int temp = array[j]; array[j] = array[j+1]; array[j+1]=temp; } } } for(int i=0;i<array.length;i++) { System.out.println(array[i]); } }}
冒泡排序的效率:
一般来讲,数组中有N个数据项,则第一躺排序又N-1次比较,第二趟有N-2次比较,以此类推。。。
(N-1)+(N-2)+(N-3)+……+1 = N*(N-1) / 2;
所以冒泡排序的时间复杂度为 O(N^2)
0 0
- 排序1 冒泡排序
- 排序(1) -- 冒泡排序
- 排序1-冒泡排序
- 排序1-冒泡排序
- 排序1:冒泡排序
- 排序-1-冒泡排序
- [排序算法1] - 冒泡排序
- 排序(1)冒泡排序
- 排序算法(1)-冒泡排序
- 排序(1)-冒泡排序
- 排序算法1-冒泡排序
- 排序篇(1)--冒泡排序
- 排序(1)冒泡排序
- 冒泡排序1
- 冒泡排序改进-1
- 排序1--冒泡(蛮力法)
- 1、冒泡排序
- 冒泡排序(1)
- 前端学习笔记之ajax
- mysql数据库中的数字字符型的取值范围
- 为什么Excel VBA逐步调试通过可整体运行却不稳定?
- 70. Climbing Stairs
- 建立discuz后台管理页面的模板
- 排序1-冒泡排序
- 快速排序
- Java集合框架
- Hadoop集群(第1期)_CentOS安装配置
- 一切都是对象
- Java核心内库-线程-并行和并发
- Hadoop集群(第2期)_机器信息分布表
- mysql乐观锁
- SWT多线程异常--org.eclipse.swt.SWTException: Invalid thread access