二分查找算法(折半查找算法)

#include<stdio.h>

int  main()
{
	int arr[] = { 1, 2, 3, 4, 5, 6,7,8 , 9, 10 };
	int k = 7;
	int sz = sizeof(arr) / sizeof(arr[0]);//计算元素个数
	int left = 0;//左下标
	int right = sz - 1;//右下标
	while (left <= right)   //前呼
	{
		int mid = (left + right) / 2;
		if (arr[mid] > k)
		{
			right = mid - 1;

		}
		else if (arr[mid] < k)
		{
			left = mid + 1;
		}
		else
		{
			printf("找到了,下标是:%d\n",mid);
			break;
		}
	}
	if (left > right)  //后应
	{
		printf("找不到\n");
	}
		return 0;
}

 

posted @ 2021-08-21 16:11  兑生  阅读(16)  评论(0)    收藏  举报  来源
Live2D