- 数组下标都是从0开始的。
- 数组内存空间的地址是连续的
正是因为数组的在内存空间的地址是连续的,所以我们在删除或者增添元素的时候,就难免要移动其他元素的地址。
数组的元素是不能删的,只能覆盖。
二分查找分为low<high和low<=high.推荐使用low<=high
int search(int* nums, int numsSize, int target){
int low = 0,high = numsSize-1,mid;
while(low<=high)//设置low<=high
{
mid = low + (high-low)/2;//中间位置
if(nums[mid] == target)//若相等,则返回中间位置坐标
{
return mid;
}
else if(nums[mid] > target)//若中间值大于target,说明在左半区域,使high=mid-1,不是high=mid;
{
high = mid -1;
}
else
{
low = mid +1;
}
}
return -1;//没找到
}