思路:

先把中间元素找到,寻找的元素在中间元素左边,则小于中间元素,改变right。再继续折半找中间元素寻找。

#include

#include

#include

int Binary(int x, int arr[], int left, int right)

{

int mid = 0;

while (left <= right)

{

int mid = left - (left - right) / 2;

if (x > arr[mid])

{

left = mid + 1;

}

else if (x

{

right = mid - 1;

}

else

{

return mid;

}

}

return -1;

}

int main()

{

int arr[] = { 1, 3, 4, 6, 7, 8, 56, 67, 78 };

int size = sizeof(arr) / sizeof(arr[0]);

int ret = Binary(78, arr, 0, size - 1);

if (ret == -1)

{

printf("not exsit");

}

else

{

printf("%d", ret);

}

system("pause");

return 0;

}

对字符串进行折半查找c语言,C语言:编写折半查找函数相关推荐

  1. R语言中如何编写自己的函数初步入门

    一.循环与控制 循环: for(i in 1:10) print("hello world") i<-10 while(i>0){ print(i); i<-i- ...

  2. c语言实验报告 折半查找法,C语言数组之冒泡排序+折半查找法(二分查找)

    冒泡排序算法 将相邻的元素进行两两比较,大的向后"冒", 小的向前"赶". 口诀: N个数字来排队,两两比较小靠前 外层循环N-1(控制需要比较的轮数). 内层 ...

  3. 查找字符串中指定字符的位置c语言,C语言中查找字符在字符串中出现的位置的方法...

    C语言strchr()函数:查找某字符在字符串中首次出现的位置 头文件:#include strchr() 用来查找某字符在字符串中首次出现的位置,其原型为: char * strchr (const ...

  4. python二分法查找算法_顺序查找算法和折半(二分法)查找算法,C语言查找算法详解...

    查找是指在大量的信息中寻找一个特定的信息.在计算机中,查找是非常重要的一个应用,比如"百度".查找算法的好坏直接影响查找的速度. 常用的查找算法主要有顺序查找和折半(二分法)查找: ...

  5. 查找:线性表的C语言代码实现(顺序查找、折半查找)

    目录 一.线性表结构 两个类的定义 二.线性表的初始化以及根据输入的元素建立线性表 1.线性表的初始化,初始化一个空的线性表 2.根据用户需求,向线性表中添加元素 三.顺序查找  Search1函数( ...

  6. 数据结构源码笔记(C语言):分块法查找

    //实现分块法查找的算法#include<stdio.h> #include<malloc.h> #include<malloc.h>#define MAXL 10 ...

  7. 二分查找算法举例说明C语言,C语言快速排序与二分查找算法示例

    本文实例讲述了C语言二分排序与查找算法.分享给大家供大家参考,具体如下: 题目:首先产生随机数,再进行快速排序,再进行二分查找. 实现代码: #include #include #include vo ...

  8. 两个变量实现查找坏环c语言,C/C++编程笔记:C语言编程知识要点总结!大一C语言知识点(全)...

    程序员无言 2020-07-07 一.C语言程序的构成 与C++.Java相比,C语言其实很简单,但却非常重要.因为它是C++.Java的基础.不把C语言基础打扎实,很难成为程序员高手. 1.C语言的 ...

  9. 查找算法的实现c语言,查找算法的实现(C语言版)

    <查找算法的实现(C语言版)>由会员分享,可在线阅读,更多相关<查找算法的实现(C语言版)(6页珍藏版)>请在人人文库网上搜索. 1.芬梨受交峙东喊济雏狈违晕裂赵檀芬逛温乌摄阿 ...

  10. 易语言大漠模块制作教程查找颜色FindColor

    本节视频课程封装的模块命令有: FindColor.FindColorBlock.FindColorBlockEx.FindColorE,FindColorEx .FindMulColor.FindM ...

最新文章

  1. [转]FPGA的GTP信号PCB布线要点
  2. swift 学习- 12 -- 方法
  3. ubuntu pip更新_Cubietruck开发板折腾002:安装Python管理工具pip
  4. 201110阶段二qt事件
  5. ANN:DNN结构演进History—RNN
  6. cntk-notes
  7. python显示目录中的文件_Python中的文件和目录操作实现
  8. linux内核源码树
  9. iOS游戏开发 几个有利工具
  10. nginx学习文档之二 配置负载均衡-windows配置负载均衡
  11. Linux查看进程下的线程
  12. 换工位解决ssh 卡住的背后
  13. SpringBoot整合Drools规则引擎动态生成业务规则
  14. mac搜索文件什么都没有,是为什么
  15. mysql 求平方_如何用MySQL求一个范围内的完全平方数
  16. 【MySQL】简单易学的MySQL安装教程
  17. 黑群DS3617xs 6.2.3套件中心无法添加第三方源/添加第三方源失败解决方案/群晖套件中心无效的位置解决
  18. linux输出替换字符串,Linux命令之sed-替换字符串
  19. 防盗系统Java_java小区防盗报警系统
  20. MSI文件无法安装问题

热门文章

  1. python深度学习库keras——网络建模全解
  2. 杭电 -- 2000
  3. 前端零碎问题(四)css3
  4. web前端性能调优(转载)
  5. 用ajax向处理页面传送路径问题解决方法
  6. Js整理工具-开发必备
  7. 最近一段时间的手工作品
  8. [转载] python mongodb update
  9. [转载] python difference用法_set.difference() 的用法(python3)_举例说明python3 set方法功能
  10. [转载] JAVA的throw用法及扩展