0
点赞
收藏
分享

微信扫一扫

c语言二分查找法

飞空之羽 2022-01-17 阅读 77
c语言

这种方法适合于从有序数组中找出想要的目标。

#include<stdio.h>
int main() {
	int arr[] = { 1,2,3,4,5,6,7,8,9,10 };
	int k;
	int sz = sizeof(arr) / sizeof(arr[0]);//求有多少个数;
	int left=0;//左边第一个的序号
    int right= sz - 1;//右边第一个的序号

	scanf("%d", &k);//输入目标数字
	while (left <= right) {
		int mid = left + (right - left) / 2;
		if (arr[mid] < k) {
			left = mid + 1;
		}
		else if (arr[mid] > k) {
			right = mid - 1;
		}
		else {
			printf("找到了,下标是:%d\n", mid);
			break;
		}
	}
	if (left > right) {
		printf("找不到了\n");
	}
	return 0;
}

 

举报

相关推荐

0 条评论