c语言刷题 二分查找+暴力解法

#include <stdio.h>
int searchInsert(int *nums, int numsSize, int target)
{
    int i = 0;
    for (i = 0; i < numsSize; i++)
    {
        if (nums[i] >= target)
        {
            return i;
        }

        /* code */
    }
    return numsSize;
}
// 1,3,4,6
int searchInsertTwo(int *nums, int numsSize, int target)
{
    int left = 0;
    int right = numsSize - 1;
    while (left <= right)
    {
        int mid = left + (right - left) / 2;
        if (nums[mid] == target)
        {
            return mid;
            /* code */
        }
        else if (nums[mid] > target)
        {
            right = mid - 1;
            /* code */
        }
        else
        {
            left = mid + 1;
            /* code */
        }
        /* code */
    }
    return left;
}

int main(int argc, char const *argv[])
{
    int a = 1, b = 2, c = 3;
    //定义一个指针数组
    int *arr[3] = {&a, &b, &c};
    int index = searchInsert(*arr, 3, 3);
    printf("%d", index);
    return 0;
}
posted @ 2022-07-14 16:58  spx88  阅读(64)  评论(0)    收藏  举报