每日一题Day74

基于递归的折半查找

描述

请编写一个递归的折半查找算法,查找给定有序数组中的某一元素。

输入

多组数据,每组数据有三行。第一行为数组长度n,第二行为n个递增排列的数字,第三行为需要查找的数字k。当n=0时输入结束。

输出

每组数据输出一行,如果可以找到数字,则输出“YES”,否则输出“NO”。

样例输入1 

5
1 4 6 7 8
6
6
1 2 5 7 9 100
8
0

样例输出1

YES
NO

解答:二分查找。

#include
#define maxn 200

void Find(int a[],int k,int low,int high)
{
	if(low>high)
	{
		printf("NO\n");
		return;
	}
	int mid=(low+high)/2;
	if(a[mid]==k)
	{
		printf("YES\n");
		return ;
	}
	else
	{
		if(k

 

你可能感兴趣的:(考研数据结构,考研数据结构之路)