二分查找法(即折半查找法)
来源:互联网 发布:名片地图生成软件 编辑:程序博客网 时间:2024/06/15 03:53
在查找函数中,一般用的最多的就是二分查找法,同时也叫折半查找法,下面就简单的模拟实现一下。
#include <stdio.h>
#include <iostream>int binary_search(int arr[], int key, int left, int right) //判断是否找到要找到那个数的函数
{
while (left <= right)
{
int mid = left + ((right - left) >> 1);
if (arr[mid] > key)
{
right = mid - 1;
}
else if (arr[mid] < key)
{
left = mid + 1;
}
else
{
return mid;
}
}
if (left>right)
{
return -1;
}
}
下边就我写的二分查找法进行测试。
int main()
{
int arr[] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 }; //输入一个一维数组
int left = 0;
int right = sizeof(arr) / sizeof(arr[0]) - 1; //右脚标的获取
int key = 7;
int ret = binary_search(arr, key, left, right); //调用函数
if (ret == -1) // 判断是否找到目标数字
{
printf("没找到\n ");
}
else
{
printf("%d\n", ret);
}
system("pause");
return 0;
}
好了,以上就是我对二分查找的模拟实现。
阅读全文
0 0
- 二分查找法(即折半查找法)
- 折半查找法(二分查找法)
- 折半查找法(二分查找)
- 二分查找法 (折半法)
- 二分(折半)法查找--Java
- 二分搜寻法(折半查找)
- javascript二分查找法(折半查找)
- JAVA二分查找法(折半查找法)
- 搜索算法二分查找法(折半查找法)
- 搜索算法二分查找法(折半查找法)
- 二分查找法(折半查找法)的实现
- java数组之二分查找法(折半查找)
- 折半查找(二分查找)
- 二分查找(折半查找)
- 二分查找(折半查找)
- 折半查找(二分查找)
- 折半查找(二分查找)
- 二分查找(折半查找)
- 河南省第十届ACM省赛题目:问题 G: Plumbing the depth of lake
- 决WINCE保存设置的问题
- 设置图像感兴趣区域(RIO)
- 找不到 mkimage 命令
- NAND Flash文件系统方案及其可靠性设计
- 二分查找法(即折半查找法)
- Convert .pkl format to .mat format
- WINCE 下的FAL(flash abstraction layer)
- lambda表达式的底层实现
- 自定义SwitchButton控件
- Java复习题集(四)
- InvocationTargetException异常的深入研究-servlet的setAttribute与getAttribute
- vue.js通过cli脚手架安装stylus遇到的坑
- springmvc 配置