再帰的な二分法検索の使用

476 ワード

#include "stdio.h"

void Search(int p[],int low,int height,int key)
{
	int middle=(low+height)/2;
	if(low>height)
	{
		printf("    !");
		return;
	}
	if(p[middle]==key)
	{
		printf("%d
",middle); return; } else if(p[middle]>key) { Search(p,low,middle-1,key); } else if(p[middle]<key) { Search(p,middle+1,height,key); } } int main() { int p[5]={1,2,3,4,5}; Search(p,0,4,4); return 0; }