c语言有没有不用函数和指针的二分查找?

还没有学到函数还有指针,有没有不用函数还有指针的二分查找啊,想了好久都没有想出来,有点复杂

img

解答如下

#include<stdio.h>
int main()
{
    int n,j,key;
    scanf("%d",&n);
    int t[n];
    for(j=0; j<n; j++)
        scanf("%d",&t[j]);
    scanf("%d",&key);
    int mid,b=0,e=n-1;
    while(b<=e)
    {
        mid=(b+e)/2;
        if(t[mid]==key)
        {
            printf("%d",mid+1);
            return mid;
        }
        else if(t[mid]<key)
            b=mid+1;
        else
            e=mid-1;
    }
    printf("None");
    return -1;
}

这跟函数和指针有什么关系,二分查找是一个算法,而函数和指针只是实现这种算法的一个语法。不用也完全可以啊,你参考一下用函数和指针的算法,改成不用的版本不就行了

不可能不用指针的,数组就是个指针,你怎么避开,你的输入用什么存储结构?? 二分查找必须要有index