频道栏目
首页 > 程序开发 > 综合编程 > 其他综合 > 正文
二分查找算法
2017-03-20 09:35:20      个评论    来源:haobing的博客  
收藏   我要投稿

二分查找算法:请写一个二分查找算法查找一个数最先出现的index,如果数不在集合中需要返回(-1)-当前数应该出现的位置。例如 [1,3,6],查找5,5应该是在index=2的位置但并不在集合中。返回(-1)-2 = -3。

输入
第一行读入一个整数x,表示要查找的数;第二行读入一个正整数n,表示待查找数组的元素个数;第三行读入n个递增整数,构成待查找的数组。
输出
整数x在数组中出现的索引位置(索引从0开始计数);如果不存在,返回(-1)-当前数应该出现的位置。

样例输入
3
5
0 1 3 5 6
样例输出
2

#include
int a[100],number,n;
int findIndex(int a[100],int find_number);
int main(){
 int find_number;
 scanf("%d\n",&find_number);
 scanf("%d\n",&n);
 for(int i=0;ifind_number){
              high=gap-1;
              if(highhigh){
             return (-1-low);//当没找到时,返回-1-(应该在的位置下标)
             }
        }
      gap=(low+high)/2;
    }
}
点击复制链接 与好友分享!回本站首页
上一篇:二叉树的直径
下一篇:怎么查看centos7的网络配置
相关文章
图文推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训

版权所有: 红黑联盟--致力于做实用的IT技术学习网站