数组和函数本质是一样的

都是映射
传入参数,返回结果

不同:
函数:消耗计算资源
数组:消耗存储资源
算法中的时间换空间,空间换时间

C语言实现二分查找

#include <stdio.h>
int main()
{
    
    
	int k = 0;
	scanf("%d", &k);
	int arr[] = {
    
     0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
	int sz = sizeof(arr) / sizeof (arr[0]);
	int low = 0;
	int high = sz-1;
	while (low <= high)
	{
    
    
		int mid = (low + high) / 2;
		if (arr[mid] > k)
		{
    
    
			high = mid - 1;
		}
		else if (arr[mid] < k)
		{
    
    
			low = mid + 1;
		}
		else
		{
    
    
			printf("找到了,它是:%d", arr[a]);
			break;
		}
	}
	if (l>r)
		printf("没找到,请重新输入");
	return 0;
}

C++实现二分查找

#include <stdio.h>
int main()
{
    
    
	int k = 0;
	scanf("%d", &k);
	int arr[] = {
    
     0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
	int sz = sizeof(arr) / sizeof (arr[0]);
	int low = 0;
	int high = sz-1;
	while (low <= high)
	{
    
    
		int mid = (low + high) / 2;
		if (arr[mid] > k)
		{
    
    
			high = mid - 1;
		}
		else if (arr[mid] < k)
		{
    
    
			low = mid + 1;
		}
		else
		{
    
    
			printf("找到了,它是:%d", arr[a]);
			break;
		}
	}
	if (l>r)
		printf("没找到,请重新输入");
	return 0;
}

猜你喜欢

转载自blog.csdn.net/weixin_44659309/article/details/129980793