数据结构实现折半插入排序(c语言版)

如题所述

# include <stdio.h>#define Max 7
void B_sort(int a[], int n)
{
int low,high, i,j, t;
int m;
for(i=2;i<=n;++i)
{
t = a[i];//临时存放
low =1;high =i-1;
while(low<=high)
{
m=(low+high)/2;
if(t<a[m])
high =m-1;
else
low =m+1;
}
for(j=i-1;j>=high+1;--j)

{
a[j+1] = a[j];
}

a[high+1] = t;
}}
main()
{int a[Max],i;
int length = Max-1;
printf(" 这是一个折半排序 \n");
printf("请输入%d个待排序的记录序列:\n",length-1);
for(i=1;i<length;i++)
scanf("%d",&a[i]);
B_sort(a,length);
printf("折半排序后的序列:");
for(i=2;i<=length;i++)
printf(" %d",a[i]);
printf("\n");
}

vc下面编译通过的,折半插入排序,希望采纳
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-12-03
不是很简单吗,书上都有。百度上都有,教科书上也有呀。
第2个回答  2012-11-29
什么叫数据结构实现。。。
相似回答