折半查找排序

代码

#include<stdio.h>
int main()
{
	int a[9]={0,48,62,35,77,55,14,35,98};
	int i,j,low,high,mid;
	for(i=2;i<9;i++)
	{
		a[0]=a[i];
		low=1;high=i-1;
		while(low<=high)
		{
			mid=(low+high)/2;
			if(a[0]<a[mid])
			high=mid-1;
			else
			low=mid+1;
		}
		for(j=i-1;j>=low;j--)
		a[j+1]=a[j];
		a[low]=a[0];
	}
	for(i=1;i<9;i++)
	printf("%d\t",a[i]);
	return 0;
}

运行截图

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_42837885/article/details/84861978