二分查找
2016-02-13 00:22
260 查看
#include<cstdio> using namespace std; int dichotomies(int arr[],int x,int right) { int mid; int left = 0; while(left <= right) { mid = (left + right)/2; if(arr[mid] == x) { return mid; } else if(x < arr[mid]) { right = mid - 1; } else { left = mid + 1; } } printf("no"); return -1; } int main() { int arr[10] = {0,1,2,3,4,5,6,7,8,9}; int i; int x; int s; while(scanf("%d",&x)) { s = dichotomies(arr,x,9); printf("%d\n",s); } return 0; }
相关文章推荐
- VIM 配置
- 第一章 关于语言,对象
- 【吐槽】颓废良久了
- 232. Implement Queue using Stacks
- 从零开始搭建opencv3.0交叉编译环境(Ubuntu14.04+eclipse)(二)
- Codeforces Round #287 (Div. 2) D. The Maths Lecture(数位dp)
- 华为机试题:小明的筷子
- 231. Power of Two
- Android Touch事件传递机制解析 (推荐)
- [bzoj3997] [TJOI2015]组合数学
- fluentd收集mapreduce分布式环境下的用户日志
- 326. Power of Three
- Android Wear 进阶 - 1 Notification
- Python yield 使用浅析
- Codeforces Round #287 (Div. 2) C. Guess Your Way Out!(线段树思想)
- Arduino代码机制-avr/pgmspace.h
- 【HDOJ】4343 Interval query
- 产品经理的段位——说说腾讯的产品职级 梁宁-闲花照水录
- http协议笔记
- demo 微信毛玻璃效果