C++排序
来源:互联网 发布:icem网络节点怎么设置 编辑:程序博客网 时间:2024/05/18 01:46
1、插入排序
思想:后面的数和第一个数比较大小进行排序,排序好再后面的数与前两个数进行比较排序,类推……
模板:
template<class T>void InsertionSort(T A[],int n){int i,j;T temp;for(i=1;i<n;i++){j=i;temp=A[i];while(j>&&temp<A[j-1]){A[j]=A[j-1];j--;}A[j]=temp;}}
2、选择排序
思想:将第一个数和后面的每个数进行比较,如果后面的比前面小,就两个数调换位置,最后就将最小的数放在最前面。
template<class T>void Swap(T& x,T& y){T temp;temp=x;x=y;y=temp;}template<class T>void SelectionSort(T A[],int n){int smallIndex;int i,j;for(i=0,i<n-1;i++){smallIndex=i;for(j=i+1;j<n;j++)if(A[j]<A[smallIndex])samllIndex=j;Swap(A[i],A[smallIndex]);}}
3、冒泡排序
思想:从第一个数开始,往下每两个数进行比较,如果后面闭前面小,就调换位置,这样一趟下来就将最大的放到最后。(速度比选择排序要快)
template<class T>void Swap(T& x,T& y){T temp;temp=x;x=y;y=temp;}template<class T>void BubbleSort(T A[],int n){int i,j;int lastExchangeIndex;i=n-1;while(i>0){lastExchangeIndex=0;for(j=0;j<i;j++)if(A[j+1]<A[j]){Swap(A[j],A[j+1]);lastExchangeIndex=j;}i=lastExchangeIndex}}
0 0
- 排序(C)
- C排序
- C++------------------------------------------------------------- 排序
- 排序-快速排序(c)
- C/C++--set排序
- 归并排序(C/C++)
- 插入排序(C/C++)
- 【C/C++】排序总结
- 排序算法 - 堆排序 (C++)
- 排序算法 - 快速排序(C++)
- 排序算法 - 计数排序(C++)
- 冒泡排序 & 选择排序 (C++)
- C 插入排序 希尔排序
- C语言排序:冒泡排序
- c语言排序,冒泡排序
- 排序-快速排序(C版本)
- c++-字符串排序-冒泡排序
- 排序算法之冒泡排序(C/C++)
- 审计署:2013年全国78亿元保障房专项资金被挪用
- 首个MMORPG手游服务器端AOI设计的一些思考
- 兴奋剂pvp怕飞洒
- cf #256 (Div. 2) C. Painting Fence 分治
- eval函数的工作原理
- C++排序
- 写android程序碰到的一些记录
- 高效率的全组合算法(Java版实现)
- 倾负天下-Me丶安然恋颜
- 引领产业发展趋势
- Maven
- 说法问气氛委屈日
- 蓝牙调试工具hcitool的使用实例
- uva 232 - Crossword Answers