搜索插入位置(二分法)
#includeint searchInsert(int* nums, int numsSize, int target); int main() { int nums[5] = {3, 4, 6, 7, 8}; int target; while(1) { printf("请输入目标值:"); scanf("%d", &target); int index = searchInsert(nums, 5, target); printf("插入索引位置:%dn", index); } } int searchInsert(int* nums, int numsSize, int target) { if(nums == NULL || numsSize == 0) return -1; int left = 0; int right = numsSize - 1; while(left <= right) { int mid = (left + right) >> 1; if(nums[mid] > target) right = mid - 1; else if(nums[mid] < target) left = mid + 1; else return mid; } return left; }



