二分查找
来源:互联网 发布:全自动手机降温软件 编辑:程序博客网 时间:2024/05/29 17:23
二分查找的前提是一个数组元素有序的数组,然后通过找寻中间的素的下表与多找的key值进行比较,若a[mid]>key,则把a[mid]右边的数当做下一个数组进行查找,若a[mid]
#include <stdio.h>#include <stdlib.h>int bin_search(int a[], int key, int left, int right){ while (left<=right) { int mid = left - (left - right) / 2;//防止溢出 //mid=(left&right)+(left^right)>>1; if (a[mid] > key) { right = mid - 1; } else if (a[mid] < key) { left = mid + 1; } else return mid; } return -1;}int main(){ int a[] = { 1, 2, 3, 4, 5, 6 }; int k = 6; int left = 0; int right = sizeof(a) / sizeof(a[0])-1; int ret = 0; ret=bin_search(a, k, left, right); if (ret != -1) { printf("%d", a[ret]); } else { printf("not find"); } system("pause"); return 0;}
0 0
- 二分查找
- 二分查找
- 二分查找
- 二分查找
- 二分查找
- 二分查找
- 二分查找
- 二分查找
- 二分查找
- 二分查找
- 二分查找
- 二分查找
- 二分查找
- 二分查找
- 二分查找
- 二分查找
- 二分查找
- 二分查找
- hdu 1004 Let the Balloon Rise(map的使用1)
- Ajax实现简易的三级联动
- Ajax验证用户名和密码
- [BZOJ2754] 喵星球上的点名 - AC自动机/后缀数组/后缀自动机/玄学♂暴力
- html5的视频音频放置方法
- 二分查找
- FZU 2163 多米诺骨牌(线段树)
- Bitnami部署redmine下如何设置发送邮件地址(redmine之一)
- 多行文本溢出显示省略号(…)全攻略
- python中str与list效率对比
- 乐观锁和悲观锁
- Android ICS(SDK4.0)新特性 及 GridLayout/GridView/TableLayout的一些比较
- 题目122 Triangular Sums
- linux下创建、修改、删除用户,用户组以及ACL