C++折半插入排序
来源:互联网 发布:单片机最小控制系统 编辑:程序博客网 时间:2024/05/21 21:35
代码如下:
#include <iostream>using namespace std;void insertSort(int a[], int n){ for(int i=1;i<n;++i) { if(a[i]<a[i-1]) { int low = 0; int high = i-1; int j; int temp = a[i]; while(low<=high) { int mid=(low+high)/2; if(a[mid]==a[i]) {//将a[i]放在a[mid]右边 for( j=i-1;j>mid;--j) { a[j+1]=a[j]; } a[mid+1] = temp; } else if(a[mid]<a[i]) { low=mid+1; } else { high=mid-1; } } if(low>high)/*说明当前插入的元素不在已排好序的数列中,此时应该将元素放在index等于low处,或者index等于high+1处;*/ { for( j=i-1;j>=low;--j) { a[j+1]=a[j]; } a[low] = temp; } } }}int main(){ const int N=7; int a[]={3,1,7,9,2,5,4}; insertSort(a,N); for(int i=0;i<N;++i) { cout<<a[i]<<" "<<endl; } return 0;}
0 0
- C实现折半插入排序
- 插入排序--折半插入
- 插入排序--折半插入
- 排序:折半插入排序
- 排序--折半插入排序
- 排序-折半插入排序
- 【插入排序】折半插入排序
- 插入排序--折半插入排序
- 折半插入排序,插入排序
- 排序算法(C实现)---------- 折半插入排序
- 折半插入排序
- 折半插入排序
- 折半插入排序算法
- 折半插入排序算法
- 折半插入排序 练习
- 折半插入排序
- 折半插入排序
- 折半插入排序
- 在arcgis常见的叠加分析情况汇总 (转)
- (小知识点)activity全透明,mark
- Android L+ Theme 与 Toolbar 实例
- C++内存泄露检测
- org.json.JSONArray#remove
- C++折半插入排序
- iPhone上如何侦测到系统的语言设定
- 又见面了,OBJC君!
- C/C++ 面试题---测试一下你的内功
- 微博,QQ空间,豆瓣的web版分享 pc和mobile通用
- Android 签名机制,项目签名,ANT打包,优化,发布总结
- 1039. 到底买不买(20)
- 51nod 1101 换零钱 (0-1背包,DP)
- 常用的MIME类型