我们来自五湖四海,不为别的,只因有共同的爱好,为中国互联网发展出一分力!
领航时时彩重庆版

易算时时彩定位软件:使用c语言指针和递归方法实现二分查找

2014年05月12日01:10 阅读: 32905 次

领航时时彩重庆版 www.9nwl5.cn 标签: 使用c语言指针和递归方法实现二分查找

1
<p class="p1">使用c语言指针和递归方法实现二分查找,符输入语句与打印语句。</p>
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
#include<stdio.h>
//binary search init
int binsearch(int low, int height, int *ptr, int);
int main(){
    int i = 0;
    int arr[10];
    int *ptr=arr;
    for(i=0;i<10;i++)
        scanf("%d",arr+i);
    printf("the input data is:\n");
    for(i=0;i<10;i++)
        printf("%d",arr[i]);
    printf("\n开始折半查找\n");
    printf("\n输入要查找的数\n");
    int m;
    scanf("%d",&m);
    int j;
    j = binsearch(0,9,ptr,m);
    printf("\n*ptr=%d,j=%d\n",*ptr,j);
    return 0;
}
 
int binsearch(int low,int height, int *ptr, int value){
    if (ptr == NULL || low > height) return -1;
    printf("\nlow=%d,height=%d,\n",low,height);
    if(*(ptr+low) == value) { ptr+=low; return low;}
    if(*(ptr+height) == value) { ptr+=height; return height;}
    if(low == height){
        printf("low==height = %d",low);
        if(*(ptr+low) == value) { ptr+=low; return low;}
        else return -1;
    }  
    int mid = (low + height) / 2;
    int result;
    printf("\nlow=%d,height=%d,mid=%d\n",low,height,mid);
    printf("*(ptr+mid)=%d,value=%d",*(ptr+mid),value);
    // 还得防止当查所的值不存在时,由于递归引起的无限循环
    if(*(ptr+mid) == value) {
        printf("return mid = %d",mid);
        ptr+=mid;
        return mid;
    }  
    else if(*(ptr+mid) > value) {return binsearch(low,mid-1,ptr,value);}
    else {return binsearch(mid+1,height,ptr,value);}
    return -1;
}</stdio.h>

分享到: 更多
©2019 安全焦点 版权所有.

  • 这些“难民”大部分好吃懒做,无一技之长,犯罪率又高,你要接回去就噹祖宗供着吧。[哈哈] 2019-04-23
  • 铜梁这位30岁小伙抱上吉他骑着摩托去北极过生! 2019-04-23
  • 2018年世界杯防骗宝典!拒绝和骗子一起狂欢! 2019-04-16
  • [微笑]其实很简单就能破这个局:立法禁止通过房地产二次交易获利,炒房就会被杜绝,炒房一旦被杜绝,房价就会受正常供需关系影响波动在合理范围内。 2019-04-16
  • 中国人打仗?被逗了。独生子一代、捧在手里长大的90后00后、站在甲板上飒爽英姿、硝烟战火血肉横飞的场景、会失去行动能力的。这不是耸人听闻。 2019-04-14
  • 乌鲁木齐市水磨沟区开建两座立体停车库 2019-04-14
  • 吕洪蕾:网络信息技术在干部工作中的运用研究 2019-04-04
  • 聚焦中央经济工作会议 2019-03-30
  • 沈杰:在北京打拼的“90后”台湾律师 2019-03-30
  • 法国总统马克龙首次访华 法国居民期待成果 2019-03-25
  • 【新媒体矩阵】长城编小厨 2019-03-25
  • 1949年刚刚进入北平的人民日报校对科夜班工作场面 2019-03-22
  • 江西省“放管服”改革再出实招 2019-03-21
  • 让“毒跑道”绝迹 内蒙古各方联手共同监管校园跑道 2019-03-20
  • 宁夏石嘴山支队隆重举行退伍老兵欢送仪式 2019-03-19
  • 218| 599| 697| 227| 997| 11| 654| 173| 434| 612|