二分查找算法实现(C语言)
在博客看到一篇可以实现的代码,可以用的。记下链接,方便以后回顾。
这里是网址链接:http://blog.csdn.net/li_canhui/article/details/6820407
然后我自己改了一下,增加功能:可以自己输入排序好的数组。
#include <stdio.h>
int main(){int a[200005];int m,i,n,wei,b;printf("输入排好序的整数个数:");scanf("%d",&m);printf("输入排好序的序列:\n");for(i=0;i<m;i++){scanf("%d",&a[i]);}printf("输入要查找的数字:");scanf("%d",&b);wei=binsearch(b,a,m);if(wei==-1){printf("没有找到该数字\n");}else{printf("查找到该数字的位置为:%d\n",wei);}return 0;
}int binsearch(int x, int v[], int n){int low, high, mid;low = 0;high = n - 1;while ( low <= high ) {mid = (low + high) / 2;if(x < v[mid]){high = mid - 1;}else if(x > v[mid]){low = mid + 1;}else{return mid;}}return -1;
}
二分查找算法实现(C语言)相关推荐
- 二分查找算法【C语言实现】
基本概念: 二分查找又叫折半查找,是一种简单又快速的查找算法:它对要查找的序列有两个要求:一是该序列必须是有序的,即该序列中所有元素都是按照大小关系排好顺序的,升序和降序都可以,二是该序列必须是顺序存 ...
- C语言二分查找算法[基础算法]
该算法一般适用于查找数组元素 二分查找又称折半查找,优点是比较次数少,查找速度快,平均性能好,占用系统内存较少; 其缺点是要求待查表为有序表,且插入删除困难. 适用于不经常变动而查找频繁的有序列表. ...
- 二分查找算法c语言伪代码,算法-二分搜索算法
算法:二分搜索算法(折半查找算法) 时间复杂度: 二分搜索算法概述 二分搜索算法伪代码 二分搜索算法实现 二分搜索算法概述 二分搜索算法,也称折半查找算法,即在一个有序数组中查找某一个特定元素.整个搜 ...
- 二分查找算法的一点改进
在计算机科学中,二分查找,是一种在有序数组中查找某一特定元素的搜索算法.这种搜索算法每一次比较都使搜索范围减半.第一篇二分查找的论文发表于1946年,然而第一个没有bug的二分查找算法却是在1962年 ...
- 算法总结-二分查找算法
二分查找也称折半查找(Binary Search),是一种效率较高的查找方法.该算法要求线性表必须采用顺序存储结构,而且表中元素按关键字有序排列.如果一个序列是无序的或者是链表,那么该序列就不能使用二 ...
- 二分查找算法(折半查找算法)
二分查找算法(折半查找算法) 二分查找又称折半查找.二分搜索.折半搜索等,是在分治算法基础上设计出来的查找算法,对应的时间复杂度为O(logn). 二分查找算法仅适用于有序序列,它只能用在升序序列或者 ...
- 使用 Copilot 编写和翻译二分查找算法
在这篇博客文章中,我将使用 Copilot 和 Copilot Labs 来编写并理解二分查找算法. 先决条件: 确保您已安装 GitHub Copilot 扩展程序和 GitHub Copilot ...
- 二分查找算法的两种实现方式:非递归实现和递归实现
二分查找的条件是对一组有序数组的查找,这一点很容易忘记,在使用二分查找的时候先要对数组进行排序. 先说一下二分查找的思路:一个有序数组,想要查找一个数字key的下标,首先算出中间下标mid,利用mid ...
- 二分查找算法为什么要先排序
其实二分查找算法就和我们在一个英文字典中找一个单词一样,比如要找middle这个单词,先把字典翻到大概中间的位置,那么现在字典就被分成两个部分了,middle这个单词要么在第一个部分,要么在第二个部分 ...
- LeetCode面试刷题技巧-二分查找算法代码思路解析
二分查找的思想 提及二分查找算法,我想大部分人都不陌生,就算不是学计算机的,基本上也都使用过二分查找的思想,不信的话,且听我慢慢为你道来. 不知道你有没有玩过这样一个游戏,猜数字.就是说一个人心里想了 ...
最新文章
- c++结构体定义和使用_【C语言更新】结构体的定义及使用
- ssr无法在win10使用_Nuxt SSR中使用WangEditor爬坑—把对象暴打出原型
- 快速计算文件的MD5/SHA1/SHA256等校验值(Windows/Linux)
- ASP.NET Core Blazor 初探之 Blazor Server
- 如何利用python整合excel_使用 Python 合并多个格式一致的 Excel 文件(推荐)
- 零基础iOS之Json及XML数据解析2
- CVPR 2019 | 近日新出论文汇总(含视频目标分割、GAN、度量学习、高效语义分割等主题)...
- 分布式锁 动态代理 Java数据结构List,Set,Map,Spring执行流程,Spring MVC组件
- iPhone 12蓝色版疑似翻车:眼前的蓝不是蓝......
- 工作中常用到的 Spring 依赖管理技术盘点
- 在AX4.0中使用C#脚本的实现
- 没能 PK 掉 WiFi 的 Li-Fi,可能是 5G 请来的救兵
- 如何在Eclipse中从XSD生成XML
- 害!!安装电脑系统 分区就那么点事
- 对西方国家的智能制造研究综述:过去现在和未来
- 计算机无法安装VC2015,解决win10安装vc ++2015提示“一个或多个问题导致了安装失败”的方法...
- 俄罗斯、乌克兰程序员薪资大曝光!(来长长见识)
- 【国信安实训】——文件上传漏洞
- 前辈们的网络攻城狮心得
- stm32f103c8t6的内部Flash读取