c-二分查找
查找 二分
2023-06-13 09:15:29 时间
浏览量 1
二分查找作为一个基本的算法,在各种应用和考题中都有用到,其中有两种方式来实现,递归和循环,在适当的条件下选择不同的方式。其实在网上也找得很多关于算法的这种代码,之所以选择推送是希望大家包括我自己能够利用碎片化的时间进行学习,慢慢的积累自身的知识,以期望最终达到质变的过程。
递归方法
int BinSearch(int Array[],int low,int high,int key/*要找的值*/)
{
if (low<=high)
{
int mid = (low+high)/2;
if(key == Array[mid])
return mid;
else if(key<Array[mid])
return BinSearch(Array,low,mid-1,key);
else if(key>Array[mid])
return BinSearch(Array,mid+1,high,key);
}
else
return -1;
}
非递归方法
int BinSearch(int Array[],int SizeOfArray,int key/*要找的值*/)
{
int low=0,high=SizeOfArray-1;
int mid;
while (low<=high)
{
mid = (low+high)/2;
if(key==Array[mid])
return mid;
if(key<Array[mid])
high=mid-1;
if(key>Array[mid])
low=mid+1;
}
return -1;
}
相关文章
- 二分查找不同模板分析与比较
- Duplicate File Doctor for Mac:重复文件快速查找工具 中文版
- LeetCode 704 二分查找 C++ 解法
- 二叉排序(查找)树(Java实现)
- 二分查找算法的实现(Python)
- mysql查找最后一条记录_mysql查询记录总数
- Excel函数之查找班别的起始行号与结束行号
- 二分查找+相关练习
- Go 数据结构和算法篇(九):二分查找
- 二分查找
- 二分查找法解题思路
- 二分查找模板,包括左边界右边界
- 【Android 逆向】整体加固脱壳 ( DexClassLoader 加载 dex 流程分析 | 查找 DexFile 对应的C代码 | dalvik_system_DexFile.cpp 分析 )
- 【Android 逆向】ART 脱壳 ( InMemoryDexClassLoader 脱壳 | DexFile 构造函数及相关调用函数 | Android 源码中查找 native 函数 )
- 2023-04-08:社交网络中的最优邀请策略探究。本文以小红准备开宴会为例,提出一种基于贪心算法和二分查找的解决方案,帮助读者在保证愉悦值不低于k的前提下,最
- Java 实现二分查找/折半查找详解编程语言
- java二分查找算法代码详解编程语言
- Linux 系统中查找内存泄露的方法(Linux查内存泄露)
- C语言二分查找算法,折半查找算法
- C++二分查找(折半查找)递归算法详解
- Oracle查找数据库会话ID:SID(oracle查询sid)
- MySQL查找锁表的方法(mysql查找锁表)
- 洞悉linux系统:精通常用命令查找(linux常用命令查找)
- 在Linux上轻松查找本机IP:一步步操作指南(linux查本机ip)
- 如何使用MySQL查找重复数据?(mysql查找数据重复)
- 使用PHP实现二分查找算法代码分享
- C语言使用stdlib.h库函数的二分查找和快速排序的实现代码