折半查找法——在有序整形数组中寻找
来源:互联网 发布:京东和淘宝双11销售额 编辑:程序博客网 时间:2024/05/29 18:37
#include<stdio.h>
#include<Windows.h>
int main()
{
int arr[] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 };
int mid = 0;
int left = 0;
int right = sizeof arr / sizeof arr[0] - 1;
int key = 7;
while (left<=right)
{
mid = left + (right - left) / 2; //计算中间下标(防止溢出)
if (arr[mid] < key)
{
left = mid + 1;
}
else if (arr[mid]>key)
{
right = mid - 1;
}
else
{
printf("找到了:%d\n", mid);
break; //找到了返回下标
}
}
if (left > right)
#include<Windows.h>
int main()
{
int arr[] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 };
int mid = 0;
int left = 0;
int right = sizeof arr / sizeof arr[0] - 1;
int key = 7;
while (left<=right)
{
mid = left + (right - left) / 2; //计算中间下标(防止溢出)
if (arr[mid] < key)
{
left = mid + 1;
}
else if (arr[mid]>key)
{
right = mid - 1;
}
else
{
printf("找到了:%d\n", mid);
break; //找到了返回下标
}
}
if (left > right)
printf("-1\n"); //找不到返回-1
system("pause");
return 0;
}
system("pause");
return 0;
}
阅读全文
0 0
- 折半查找法——在有序整形数组中寻找
- 有序整形数组,提升效率的折半查找算法
- 用折半查找法在整型有序数组中查找想要的数字,找到了返回下标,找不到返回-1.
- 10.有序数组——折半查找(递归)(含java库中应用)
- 折半查找------在一个升序的有序数组中查找某个具体的数字
- 有序表查找——折半查找
- 有序数组的折半查找
- 利用折半查找,寻找元素在数组中合适恰当的位置
- 二分查找思想寻找有序数组中查找最小值
- 有序表——折半查找
- 可以在整型有序数组中查找想要的数字,找到了返回下标,找不到返回-1.(折半查找)
- 有序数组---折半查找(2012.2.16)
- java实现有序数组的折半查找
- 折半查找有序数组中的某个元素
- 有序表查找——折半查找,又为二分法
- 二分法在有序数组中进行查找
- 折半查找,也称二分查找、二分搜索,是一种在有序数组中查找某一特定元素的搜索算法。
- 数据结构-02 数组(有序数组) -二分法查找(折半查找)
- dom 获取子节点 删除非空节点
- 两个实数的交换
- FasterRCNN训练自己数据记载
- 记录一个令人尴尬的问题
- FJUT 3097(hdu 3333) 区间种类数 线段树+离线
- 折半查找法——在有序整形数组中寻找
- Linux命令(25)——cp命令
- .Net解析html文档类库HtmlAgilityPack完整使用说明
- Oracle用户管理
- Android使用百度地图定位
- Http协议简介
- idea常用设置
- kettle solr plugin
- ImageLoader配置