欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

C语言使用二分法实现在一个有序数组中查找具体的某个数字n

程序员文章站 2022-03-13 18:20:59
...

在一个有序数组中查找具体的某个数字n。
功能:
在v[0]<= v[1] <= v[2] <= …. <= v[n - 1]的数组中查找x。

#include<stdio.h>
//在一个有序数组中查找具体的某个数字n。 
//功能:在v[0]<= v[1] <= v[2] <= …. <= v[n - 1]的数组中查找x

int main()
{
	int arr[9] = { 1, 2, 3, 4, 5, 6, 7, 8, 9 };
	int left = 0;
	int right = 8;
	int num = 0;
	int i = 0;
	printf("请输入你要查找的数字->");
	scanf("%d", &num);
	while (left <= right)//left == right
	{
		i = (left + right) / 2;
		if (num < arr[i])
		{
			right = i-1;//!-1向前一位
		}
		else if (num > arr[i])
		{
			left = i+1;//!+1向后一位
		}
		else
		{
			printf("arr[%d]\n", i);
			break;
		}
		if (left > right)

		{
			printf("找不到\n");
		}
	}
	return 0;
}

输出结果:
C语言使用二分法实现在一个有序数组中查找具体的某个数字n

相关标签: C语言 c语言