void BinSearch(SqList* sql, EleType x) //二分查找应用于已经排序好的数据

{

assert(sql);

if(sql->size > 0)

{

int left = 0;

int right = sql->size - 1;

int mid = left + (right - left) / 2;  //此处mid写法 防止溢出

while(left<=right)

{

if(sql->arr[mid] > x)

{

right = mid - 1;

}

else if(sql->arr[mid] < x)

{

left = mid + 1;

}

else

{

printf("%d",mid);

break;

}

}

}

}

转载于:https://blog.51cto.com/10767544/1723036

单链表的操作_二分查找相关推荐

  1. 用c语言实现单链表的初始化,建表,查找,求长度,插入,删除等操作,【YTU+2430+C语言习题+链表建立+插入+删除+输(5)...

    的打印.判断链表是否为空.计算链表长度.插入节点.删除节点.删除整个链表.(2) 线性表adt顺序存储实现中的创建.查找.插入和删除等基本操作及相关算法,线性表adt链式存储实现中单链表.循环链表和双 ...

  2. 单链表插入、删除和查找操作

    一.链表的定义: 链表是一种物理存储结构上非连续存储结构. 二.节点的表示: 节点(Node)==>数据+补充信息 三.单链表的插入: 1.头插法 2.尾插法 3.任意位置插入 class No ...

  3. java实现单链表常见操作,java面试题,java初级笔试题

    写在最前面,我总结出了很多互联网公司的面试题及答案,并整理成了文档,以及各种学习的进阶学习资料,免费分享给大家.扫码加微信好友进[程序员面试学习交流群],免费领取.也欢迎各位一起在群里探讨技术. 一. ...

  4. java实现单链表常见操作

    一.概述: 本文主要总结单链表常见操作的实现,包括链表结点添加.删除:链表正向遍历和反向遍历.链表排序.判断链表是否有环.是否相交.获取某一结点等. 二.概念: 链表: 一种重要的数据结构,HashM ...

  5. 笔试面试常考数据结构-单链表常用操作编程实现

    单链表是笔试以及面试手写代码中常考的数据结构之一.下面实现了单链表的常见操作:创建单链表.删除节点.打印单链表(包括正向打印以及逆向打印).反转单链表.找出单链表的倒数第K个节点.合并两个有序单链表等 ...

  6. 单链表创建及代码实现对单链表的操作

    链表:链表是一个有序的列表:是以节点的方式存储的,是链式存储:其中每一个节点包含data域,next域,next域指向下一个节点:链表的各个节点不一定是连续存放的:链表分带有头节点的链表和没有头节点的 ...

  7. c语言单链表数据显示,C++_C语言单链表常见操作汇总,C语言的单链表是常用的数据结 - phpStudy...

    #include #include //定义单链表结构体 typedef int ElemType; typedef struct Node { ElemType data; struct Node ...

  8. 单链表删除、修改和查找

    相声讲究说学逗唱链表讲究增删改查 上一篇blog里演示了单链表的增加节点的操作,下面演示单链表的删除.修改和查找的操作. 修改操作: 思路: 遍历找到待修改节点 这里编号no不改变,把称号和姓名重新赋 ...

  9. python 单链表的操作

    链表由一系列不必在内存中相连的结构构成,这些对象按线性顺序排序.每个结构含有表元素和指向后继元素的指针.最后一个单元的指针指向NULL.为了方便链表的删除与插入操作,可以为链表添加一个表头. 单链表 ...

最新文章

  1. oracle分区表执行计划分区合并,利用ORACLE分区技术提高管理和性能_PART2
  2. [NOIP2012] 借教室
  3. 在ubuntu12.04 的QT安装
  4. 转载:JavaScript 的55个经典技巧
  5. 某班学生有50人会c语言的有40人,《离散数学》期末考试题目及评分标准
  6. Python常用模块之configparser模块
  7. 微软启用全新域名邮箱平台 Outlook.com
  8. Java的算法讲解以及案例!
  9. sap采购订单更改记录_SAP系统如何实现减税:增值税16%
  10. 【Qt for Android】OpenGL ES 绘制彩色立方体
  11. bash shell 命令行选项的用法
  12. leetcode python3 简单题9. Palindrome Number
  13. ExpandRegion for Sublime Text:快速选择文本
  14. IE6 position:fixed bug (固定窗口方法)
  15. OpenGL着色器语言
  16. win10不让桌面上显示宽带连接服务器,Win10宽带连接桌面看不见了怎么办?
  17. 微星如何于BIOS中开启/关闭AMD虚拟化技术
  18. html返回顶部按钮图片,goToTop(回到顶部)按钮的制作
  19. VMI代管模式下企业ERP需要的管理准备
  20. 线性回归,逻辑回归个人总结

热门文章

  1. 深度学习数学知识(持续补充)
  2. rsync+inotify-tools实现文件的实时同步
  3. 使用Xshell密钥认证机制远程登录Linux
  4. CodeLobster PHP Edition v4.5.3 Professional 注册码
  5. oracle对象类型的member方法
  6. 干货 | 架构师入门实战视频课程(一)
  7. Linux(CentOS)升级gcc到4.8.5版本
  8. CentOS 7 上安装 redis3.2.3安装与配置
  9. Windows下MongoDB的安装与设置MongoDB服务
  10. activity切换动画特效