开发者社区> 问答> 正文

用C语言编写非递归算法实现折半查找(二分查找)

用C语言编写非递归算法实现折半查找(二分查找)

展开
收起
知与谁同 2018-07-20 20:57:45 1803 0
1 条回答
写回答
取消 提交回答
  • char a[10][5];//按字典序递增
    int search(char *x)//二分查找,返回有序表中大于等于x的元素位置
    {
    int low=0,high=9,mid,t;
    while(low<=high)
    {
    mid=(low+high)/2;
    t=strcmp(a[mid],x);//比较中点位置与x
    if(t==0) return mid;//相等返回其位置
    else
    if(t>0) high=mid-1;//x小于mid元素,则在中点前
    else low=mid+1;
    }
    return high+1;//返回大于x的第一个元素
    }
    这个是我曾经用过的字符串的二分查找~
    请根据需要修改数据类型。。。
    2019-07-17 22:55:20
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
数据+算法定义新世界 立即下载
袋鼠云基于实时计算的反黄牛算法 立即下载
Alink:基于Apache Flink的算法平台 立即下载