在博客看到一篇可以实现的代码,可以用的。记下链接,方便以后回顾。

这里是网址链接: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语言)相关推荐

  1. 二分查找算法【C语言实现】

    基本概念: 二分查找又叫折半查找,是一种简单又快速的查找算法:它对要查找的序列有两个要求:一是该序列必须是有序的,即该序列中所有元素都是按照大小关系排好顺序的,升序和降序都可以,二是该序列必须是顺序存 ...

  2. C语言二分查找算法[基础算法]

    该算法一般适用于查找数组元素 二分查找又称折半查找,优点是比较次数少,查找速度快,平均性能好,占用系统内存较少; 其缺点是要求待查表为有序表,且插入删除困难. 适用于不经常变动而查找频繁的有序列表. ...

  3. 二分查找算法c语言伪代码,算法-二分搜索算法

    算法:二分搜索算法(折半查找算法) 时间复杂度: 二分搜索算法概述 二分搜索算法伪代码 二分搜索算法实现 二分搜索算法概述 二分搜索算法,也称折半查找算法,即在一个有序数组中查找某一个特定元素.整个搜 ...

  4. 二分查找算法的一点改进

    在计算机科学中,二分查找,是一种在有序数组中查找某一特定元素的搜索算法.这种搜索算法每一次比较都使搜索范围减半.第一篇二分查找的论文发表于1946年,然而第一个没有bug的二分查找算法却是在1962年 ...

  5. 算法总结-二分查找算法

    二分查找也称折半查找(Binary Search),是一种效率较高的查找方法.该算法要求线性表必须采用顺序存储结构,而且表中元素按关键字有序排列.如果一个序列是无序的或者是链表,那么该序列就不能使用二 ...

  6. 二分查找算法(折半查找算法)

    二分查找算法(折半查找算法) 二分查找又称折半查找.二分搜索.折半搜索等,是在分治算法基础上设计出来的查找算法,对应的时间复杂度为O(logn). 二分查找算法仅适用于有序序列,它只能用在升序序列或者 ...

  7. 使用 Copilot 编写和翻译二分查找算法

    在这篇博客文章中,我将使用 Copilot 和 Copilot Labs 来编写并理解二分查找算法. 先决条件: 确保您已安装 GitHub Copilot 扩展程序和 GitHub Copilot ...

  8. 二分查找算法的两种实现方式:非递归实现和递归实现

    二分查找的条件是对一组有序数组的查找,这一点很容易忘记,在使用二分查找的时候先要对数组进行排序. 先说一下二分查找的思路:一个有序数组,想要查找一个数字key的下标,首先算出中间下标mid,利用mid ...

  9. 二分查找算法为什么要先排序

    其实二分查找算法就和我们在一个英文字典中找一个单词一样,比如要找middle这个单词,先把字典翻到大概中间的位置,那么现在字典就被分成两个部分了,middle这个单词要么在第一个部分,要么在第二个部分 ...

  10. LeetCode面试刷题技巧-二分查找算法代码思路解析

    二分查找的思想 提及二分查找算法,我想大部分人都不陌生,就算不是学计算机的,基本上也都使用过二分查找的思想,不信的话,且听我慢慢为你道来. 不知道你有没有玩过这样一个游戏,猜数字.就是说一个人心里想了 ...

最新文章

  1. c++结构体定义和使用_【C语言更新】结构体的定义及使用
  2. ssr无法在win10使用_Nuxt SSR中使用WangEditor爬坑—把对象暴打出原型
  3. 快速计算文件的MD5/SHA1/SHA256等校验值(Windows/Linux)
  4. ASP.NET Core Blazor 初探之 Blazor Server
  5. 如何利用python整合excel_使用 Python 合并多个格式一致的 Excel 文件(推荐)
  6. 零基础iOS之Json及XML数据解析2
  7. CVPR 2019 | 近日新出论文汇总(含视频目标分割、GAN、度量学习、高效语义分割等主题)...
  8. 分布式锁 动态代理 Java数据结构List,Set,Map,Spring执行流程,Spring MVC组件
  9. iPhone 12蓝色版疑似翻车:眼前的蓝不是蓝......
  10. 工作中常用到的 Spring 依赖管理技术盘点
  11. 在AX4.0中使用C#脚本的实现
  12. 没能 PK 掉 WiFi 的 Li-Fi,可能是 5G 请来的救兵
  13. 如何在Eclipse中从XSD生成XML
  14. 害!!安装电脑系统 分区就那么点事
  15. 对西方国家的智能制造研究综述:过去现在和未来
  16. 计算机无法安装VC2015,解决win10安装vc ++2015提示“一个或多个问题导致了安装失败”的方法...
  17. 俄罗斯、乌克兰程序员薪资大曝光!(来长长见识)
  18. 【国信安实训】——文件上传漏洞
  19. 前辈们的网络攻城狮心得
  20. stm32f103c8t6的内部Flash读取

热门文章

  1. 微信小程序的组件的生命周期
  2. python 运行中 Error 解决方法汇总
  3. OneDrive变更及相关记录
  4. 计算机基础知识用语,电脑基础知识之常见术语
  5. 天九共享:厉行节约开展光盘行动
  6. Environment Modules - 在工具生命周期的重要性
  7. ali arthas 火焰图_使用arthas 生成火焰图分析jvm
  8. 人工智能焦虑:从起跑线上开始的AI教育
  9. [GIS原理] 资源共享-SIG|服务篇(服务型GIS、SOA架构、Web Services技术、GIS服务、地理空间服务聚合、地理空间服务网络)
  10. Java中的对象和类