折半插入排序
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第1页
折半插入排序 numbers[low] = temp ; //此处用 numbers[high+1] = temp ;也可
} }
//赋值语句不能弄错numbers[low]=
第2页
void BinarySearchInsertion(int numbers[], const int n)
{ int middle=0;
for(int i = 1; i < n; i++)
{ int low = 0 ;
int high = i-1 ;
int temp = numbers[i] ;
while(low <= high)
{
middle = (low + high) / 2 ;
if(temp来自百度文库< numbers[middle])
high = middle - 1 ; else
low = middle + 1 ;
}
for(int k = i ; k >middle; k--) //K>middle不能错
numbers[k] = numbers[k-1 ] ;
折半插入排序 //欢迎加入武汉地区2011年毕业的电子通信类校招群 //群号:90221733
//程序都是在VC上面调试通过的
//改进的“折半插入排序”,时间复杂度不变,减少比较次数 /************************* | | | /******************************/
折半插入排序 numbers[low] = temp ; //此处用 numbers[high+1] = temp ;也可
} }
//赋值语句不能弄错numbers[low]=
第2页
void BinarySearchInsertion(int numbers[], const int n)
{ int middle=0;
for(int i = 1; i < n; i++)
{ int low = 0 ;
int high = i-1 ;
int temp = numbers[i] ;
while(low <= high)
{
middle = (low + high) / 2 ;
if(temp来自百度文库< numbers[middle])
high = middle - 1 ; else
low = middle + 1 ;
}
for(int k = i ; k >middle; k--) //K>middle不能错
numbers[k] = numbers[k-1 ] ;
折半插入排序 //欢迎加入武汉地区2011年毕业的电子通信类校招群 //群号:90221733
//程序都是在VC上面调试通过的
//改进的“折半插入排序”,时间复杂度不变,减少比较次数 /************************* | | | /******************************/