#include<stdio.h>
int main() {
int r[8]= {0,49,38,65,97,76,23,17};
int i,x,j,low,high,mid;
for(i=2; i<=8; i++) {
x=r[i];
low=1;
high=i-1;
while(low<=high) {
mid=(low+high)/2;
if(x<r[mid])
high=mid-1;
else
low=mid+1;
}
for(j=i-1; j>=low; --j) {
r[j+1]=r[j];
}
r[low]=x;
}
for(i=2; i<=8; i++) {
printf("%d\t",r[i]);
}
return 0;
}
用C语言实现折半插入排序算法
最新推荐文章于 2021-09-11 23:20:55 发布
本文展示了一种结合了二分查找与插入排序的高效排序算法实现。通过使用二分查找来确定插入元素的正确位置,该算法在部分已排序的数据集上表现更佳。代码示例中,数组初始化为{0,49,38,65,97,76,23,17}
597

被折叠的 条评论
为什么被折叠?



