二分搜索的非递归实现

/*非递归二分查找*/
#include<stdio.h>
void main(){
	int a[10]={11,21,31,41,51,61,71,81,91,101};
	int low=0,high=9;
	int key;
	printf("请输入要查找的数:");
	scanf("%d",&key);
	while(low<=high){
		int mid=(low+high)/2;
		if(a[mid]==key){
			printf("该数是第 %d 个数。",mid);
			return;
		}else if(a[mid]<key){
			low=mid+1;
		}else{
			high=mid-1;
		}
	}
	printf("查找失败!");
}

  

posted on 2018-11-04 21:48  梓离  阅读(99)  评论(0)    收藏  举报

导航