C语言之折半查找

//折半查找
#include "stdio.h"
 int find(int num,int arr[])
 {
 	int xiabiao=-1;
 	int low=0;
 	int high=8;
 	int mid=(low+high)/2;
 	while(low<=high)
 	{
 		if(num==arr[mid])
 		{
 			xiabiao=mid;
 			break;
		 }
 		else if(num>arr[mid])
 		low=mid+1;
 		else
 		high=mid-1;
 		mid=(low+high)/2;
	}
	if(xiabiao==-1)
	{
		printf("没有这个数字");
	}
	else
	printf("有这个数字的并且这个数字的下标为%d\n",xiabiao);
 }
 int main()
 {
 	int arr[9]={1,25,36,21,41,47,58,96,36};
 	find(41,arr);
 	return 0;
  } 

猜你喜欢

转载自blog.csdn.net/weixin_39903708/article/details/81328280
今日推荐