代码拉取完成,页面将自动刷新
#include <stdio.h>
int binarySearch(int nums[], int numsSize, int target)
{
int left = 0;
int right = numsSize -1;
int middle = 0;
/*若left小于等于right,说明区间中元素不为0*/
while(left<=right)
{
/*更新查找下标middle的值*/
middle = (left + right) / 2;
/*此时target可能会在[left,middle-1]区间中*/
if(nums[middle] > target)
{
right = middle- 1;
}
/*此时target可能会在[middle + 1, right]区间中*/
else if(nums[middle] < target)
{
left = middle + 1;
}
/*当前下标元素等于target值时,返回middle*/
else if(nums[middle] == target)
{
return middle;
}
}
/*若未找到target元素,返回-1*/
return -1;
}
int main()
{
int nums[] = {1, 3, 5, 7, 9};
int numsSize = sizeof(nums) / sizeof(nums[0]); //计算数组中元素的个数
int target = 7;
int result = binarySearch(nums, numsSize, target);
if(result != -1)
{
printf("目标元素 %d 的索引位置为 %d\n", target, result);
}
else
{
printf("未找到目标元素 %d\n", target);
}
return 0;
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。