C语言入门之二分查找法

二分查找法的首要条件是一个顺序的数列

#include<stdio.h>
int main()
{
	int arr[] = {32,34,43,45,54,66,77,85,99,111,222};
	int len = sizeof(arr) / sizeof(arr[0]);
	int min = 0;
	int max = len - 1;
	int mid = len / 2;
	int key = 111;//查找这个key的下标 
	while(arr[mid] != key)
	{
		if(arr[mid] < key)
		{
			min = mid + 1;
			mid = (max + min) / 2;
		}
		else if(arr[mid] > key)
		{
			max = mid -1;
			mid = (max + min) / 2;
		}
	}
	printf("这个数的下标是%d",mid);
	return 0;
 } 

阅读更多
想对作者说点什么?

博主推荐

换一批

没有更多推荐了,返回首页