折半查找
来源:互联网 发布:外勤助手 源码下载 编辑:程序博客网 时间:2024/05/08 03:37
#include <stdio.h>int search(int a,int b[],int n){ int mid; int left = 0; int right = n - 1; while(left <= right) { mid = (left + right) / 2; if(b[mid] > a) { right = mid - 1; } else if(b[mid] == a)//当找到时的判断条件 { return mid; } else { left = mid + 1; } } return 0;}int main(){ int arr[] = {1,2,3,4,5,6,7,8,9}; int ret = search(3,arr,9); printf("%d\n",ret); return 0;}
总结:
1.通过下标找到范围来比较
2.首先找到5,3比5小在左边,然后在1,2,3里找2,最后在数组中找到3与我们需要的3再对比(3 == b[2])条件成立,则返回一个整型 mid,都是先找到最中间的数来进行比较
3.left = mid +1和right = mid -1都是在调整范围
4.注意前提该数列必须为有序数列
0 0
- 折半查找
- 折半查找
- 折半查找
- 折半查找
- 折半查找
- 折半查找
- 折半查找
- 折半查找
- 折半查找
- 折半查找
- 折半查找
- 折半查找
- 折半查找
- 折半查找
- 折半查找
- 折半查找
- 折半查找
- 折半查找
- C# Win32控制台线程计时器代码示例
- 动态绑定和静态绑定的简单理解
- settings
- 新人一枚,开始学ROS啦~~
- linux学习笔记:例行性工作(crontab)
- 折半查找
- org.hibernate.annotations.Entity和javax.persistence.Entity区别、使用
- 精通CSS+DIV网页样式与布局--页面背景
- 响应式下的下拉菜单
- 唐巧的iOS技术博客好文列表
- 图片转 base64 编码显示(PHP)
- MFC对话框中显示BMP,JPG图片
- 在Swift中使用C语言的指针
- 在WINDOWS下编写小撸路由上的第一个程序