二分法查找

来源:互联网 发布:火线精英软件免费版 编辑:程序博客网 时间:2024/06/01 07:58

问题及代码:

/*  *Copyright (c)2016,大连东软信息学院    *All rights reserved.    *文件名称:二分法查找    *作    者:陈振    *完成日期:2016年5月26日    *版 本 号: v1.0    *问题描述:    *程序输入:    *程序输出:   */ #include<stdio.h>int binary_search(int[],int,int);int main(){int a[20]={1,2,3,4,5,6,7,8,9};int key,n=9,index;scanf("%d",&key);index=binary_search(a,n,key);if(index>=0)  printf("%d\n",index); else  printf("not found\n");return 0;}int binary_search(int a[],int n,int k){int mid,low=0,high=n-1,i=-1;while(low<=high){mid=(low+high)/2;if(a[mid]==k){  i=mid;  break;}  else if(a[mid]<k)  low=mid+1;else  high=mid-1;}    return i;}

运行结果:


0 0
原创粉丝点击