C--二分搜索
2024-08-25 05:16:59
//二分搜索
//时间复杂度小 log2 n
int search(int key, int a[], int len)
{
int ret = -;
int left = ;
int right = len-;
int mid;
while(left<right)
{
mid = (right + left)/;
if(a[mid] == key)
{
ret = mid;
break;
}else if(a[mid] >key){
right = mid-;
}else{
left = mid-;
}
}
return ret;
}
int main()
{
int a[] = {,,,,};
int r = search(, a, sizeof(a)/sizeof(a[]));
printf("%d",r);
return ;
}
最新文章
- .Net开发笔记(十五) 基于“泵”的TCP通讯(接上篇)
- iOS-ARC
- 如何在linux系统中设置静态ip地址
- Android屏蔽返回键
- SpringMVC实现上传和下载
- ASP.NET中如何删除最近打开的项目和文件的记录
- EasyUI Datagrid 取编辑修改后的内容
- spring注解理解
- URAL 1553. Caves and Tunnels 树链拆分
- python2.7学习记录
- Mayor&#39;s posters问题处理
- NOI2001炮兵阵地
- 拖拽 ‘vue-grid-layout’ 插件了解下
- 使用MagicAJax的AjaxPanel时有时会弹出";Using the AjaxCallHelper write methods outside of an AjaxCall is not allowed.";
- JAVAWEB 一一框架整合(SSI : Spring+SpringMVC+ ibtis)
- Python3 - DBUtils 和 pymysql 整合
- Linux+Redis实战教程_day01_Linux介绍与安装
- 移动文件读/写指针----lseek
- 汇编语言段和RSEG用法
- J2SE基本安装和java的环境变量