选择排序与冒泡排序的联系和区别
2013-10-08 11:43
260 查看
选择排序
每一趟从待排序的数据元素中选出最小(或最大)的一个元素,顺序放在已排好序的数列的最后,直到全部待排序的数据元素排完。 选择排序是不稳定的排序方法。冒泡排序
冒泡排序(Bubble Sort),是一种计算机科学领域的较简单的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。
这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端,故名。
由于冒泡排序简洁的特点,它通常被用来对于计算机程序设计入门的学生介绍算法的概念。
void bubbleSort(int arr[],int n) { int i,j,t; for(i=0;i<n-1;i++) for(j=0;j<n-i-1;j++) if(arr[j+1]<arr[j]) { t=arr[j+1]; arr[j+1]=arr[j]; arr[j]=t; } }
冒泡排序总的平均时间复杂度为
。
n值较小时,选择排序比冒泡排序快。
相关文章推荐
- lib和dll文件的区别和联系
- JDK,JRE,JVM区别与联系
- _stdcall,_cdecl,_fastcall区别与联系
- 个人对hashCode与equals的区别与联系简单理解
- 装饰模式(Decorator)与代理模式(Proxy)的区别与联系
- 基本数据类型Undefined和Null的区别和联系
- SpringMVC的拦截器(Interceptor)和过滤器(Filter)的区别与联系
- prototype 和 proto function 和 object 以及new之间的区别和联系
- listview 和 listwiget 有什么区别联系
- HashTable.HashMap.TreeMap三者之间的区别与联系
- 机器学习算法的联系和区别
- TCP/IP、UDP、HTTP、Socket 各协议之间的联系与区别
- 抽象类和接口联系与区别
- RS及FEC区别及联系
- Android开发中的drawable-(hdpi,mdpi,ldpi)和WVGA,HVGA,QVGA的区别以及联系
- http和servlet区别联系
- UIColor,CGColor,CIColor三者的区别和联系
- 从存储角度看大数据和云计算区别与联系
- JSON和JSONP区别和联系
- 冒泡排序和选择排序