C言語のバイナリ検索(再帰)

バイナリ検索(再帰的):

#include<stdio.h>
int fun(int *arr,int start,int end,int val)
{
	int mid=(start+end)/2;
	if(start<end)
	{
		if(arr[mid]==val)
		 return mid;
	 	else if(arr[mid]>val)
	 		return fun(arr,start,mid,val);
 		else
 			return fun(arr,mid+1,end,val);
	}
	else 
		return -1;
}
int main()
{
	int arr[10]={1,3,4,5,8,9,10,15,26,30};
	int val=10;
	int left=0;
	int right=sizeof(arr)/sizeof(arr[0])-1;
	int p=fun(arr,left,right,val);
	printf("%d",p);
}

 

公開された33元の記事 ウォン称賛30 ビュー20000 +

おすすめ

転載: blog.csdn.net/baidu_15547923/article/details/99685217
おすすめ