插入排序的二分查找策略
来源:互联网 发布:淘宝名称大全卡通 编辑:程序博客网 时间:2024/05/17 22:42
由于插入排序的特点是顺序排序,所以在大数据量的时候可以使用二分查找来优化排序效率。
#include "stdafx.h"
#include "stdio.h"
int GetIndex(int* pData, int low, int high, int value)
{
int mid = 0;
while( low <= high )
{
mid = (low + high) / 2;
if( *(pData+mid) < value && *(pData+mid+1) >= value )
break;
else if( *(pData+mid+1) < value )
low = mid + 1;
else if( *(pData+mid) >= value )
high = mid - 1;
}
return mid+1;
}
int main(int argc, char* argv[])
{
int A[] = {23, 12, 45, 78, 98, 8, 63, 20, 81};
int count = sizeof(A) / sizeof(A[0]);
for( int i = 1; i < count; i++ )
{
int temp = A[i];
int index = GetIndex(A, 0, i-1, A[i]);
for( int j = i; j >= index; j-- )
{
if( A[j-1] > temp )
A[j] = A[j-1];
else
break;
}
A[j] = temp;
}
for( i = 0; i < count; i++ )
printf("%d ", A[i]);
return 0;
}
- 插入排序的二分查找策略
- 二分查找插入排序
- 二分查找插入排序
- 插入排序 二分查找
- 二分查找插入排序
- 二分查找插入排序
- 插入排序 二分查找插入排序
- 插入排序+二分查找
- 插入排序与二分查找
- 插入排序之二分查找
- 排序算法之带二分查找的插入排序
- 二分插入排序和二分查找
- 冒泡排序,插入排序,二分查找
- [整理]插入排序以及二分查找排序
- 插入排序的改进版本(二分查找)
- 数据结构--加入二分查找的插入排序(优化)
- 排序模板链表的插入存储和二分查找
- JavaShowAlgorithm-优化的插入排序带着二分查找
- 吃鱼眼真的可以明目吗?
- 母版页中对控件ID的处理:aspnetForm的产生
- 一个在c#中 调用API的例子
- tomcat简介
- Delphi 二维数组作为参数 注意方法
- 插入排序的二分查找策略
- 免费博客空间服务评测、注册和申请
- vc程序只运行一次的判断
- count 函数
- WRITE
- CSS一些用法
- Hibernate一对多单向关联
- YUV图像格式
- 搜索技术(LCS算法研究)