数据结构(C语言版)——有序表查找(折半查找)(代码版)

数据结构(C语言版)——有序表查找(折半查找)(代码版)

#include

#include

#define ERROR 0

#define OK 1

#define MAXSIZE 20

typedef int Status;

Status binarySearch(int arr[],int arrLenght,int wantSearchElement);

int main(int argc, char *argv[]) {

int data[MAXSIZE],size,i,wantSearch,result;

printf("请输入初始化数组大小(1-%d):",MAXSIZE);

scanf("%d",&size);

printf("请输入数组元素(空格隔开):");

for(i=1;i<=size;i++)

{

if(scanf("%d",&data[i])==0)

{

printf("输入错误\n");

fflush(stdin);

return ERROR;

}

}

printf("请输入你要查找的内容:");

if(scanf("%d",&wantSearch)==0)

{

printf("输入错误\n");

fflush(stdin);

return ERROR;

}

if((result=binarySearch(data,size,wantSearch))==ERROR)

{

printf("你要查找的元素不在数组中\n");

return ERROR;

}

printf("元素在数组中%d位置\n",result);

return 0;

}

Status binarySearch(int arr[],int arrLenght,int wantSearchElement)

{

int low=1,hight=arrLenght,mid;

while(hight>=low)

{

mid=(low+hight)/2;

if(arr[mid]>wantSearchElement)

{

hight=mid-1;

}

else if(arr[mid]

{

low=mid+1;

}else

{

return mid;

}

}

return ERROR;

}

(一)、核心代码

Status binarySearch(int arr[],int arrLenght,int wantSearchElement)

{

int low=1,hight=arrLenght,mid;

while(hight>=low)

{

mid=(low+hight)/2;//获取数组下标中间值

if(arr[mid]>wantSearchElement)

{//如果数组中间值,大于wantSearchElement

hight=mid-1;

}

else if(arr[mid]

{

low=mid+1;

}else

{

return mid;

}

}

return ERROR;

}

数据结构(C语言版)——有序表查找(折半查找)(代码版)相关教程

数据结构(3):队列的原理和实现

数据结构(3):队列的原理和实现 完整代码拉到最底下 队列顾名思义就像我们生活中排队一样,先进先出。 如上图所示,25、16、5、9依次在队列中,按照顺序拿出的数据也分别是25、26、5、9。 底层使用数组来实现,实现的功能有插入数据到队尾、移除队首数据、

数据结构(C语言版)——有序表查找(插值查找)(代码版)

数据结构(C语言版)——有序表查找(插值查找)(代码版) #include stdio.h#include stdlib.h#define ERROR 0#define OK 1#define MAXSIZE 20typedef int Status;Status binarySearch(int arr[],int arrLenght,int wantSearchElement); int main(int argc, char *

67道数据结构题-剑指offer-二叉树

67道数据结构题-剑指offer-二叉树 先补习一下二叉树的知识吧(2020-10-3) 二叉树是n个节点构成的集合,可以为空树也可以为非空树/*空树就没有结点,非空树起码一个节点空树*/只有一个节点/*只有一个父亲*/二叉树的独有特性: 1. 每个结点至多/*注意是至多*/

六十七.深度优先遍历C语言实现(有向图)

六十七.深度优先遍历C语言实现(有向图) #includestdio.hint min = 9999999,book[101],n,e[101][101]; //假设9999999为正无穷 void dfs(int cur,int dis) //cur是当前所在的顶点编号,dis是当前已经走过的路程 {int j; if(dismin) //如果当前走过的路程已经

【数据结构】图的深度优先遍历

【数据结构】图的深度优先遍历 以无向图为例 邻接矩阵,该邻接矩阵纵坐标(i)为访问的起点,而横坐标(j)代表访问终点 (1)起点为2,先将Visited数组(Bool)当中,表示为2的结点,标记为1,代表已经访问 (2)查看纵坐标i=2的行,其中横坐标j=1的列,发现

数据结构(C语言版)——有序表查找(斐波那契查找)(代码版)

数据结构(C语言版)——有序表查找(斐波那契查找)(代码版) #include stdio.h#include stdlib.h#define ERROR 0#define OK 1#define MAXSIZE 20typedef int Status; Status fbi(int number);Status fbiSearch(int fbiArr[],int fbiArrLenght,int dataArr[],int

【leetcode千题】21. 合并两个有序链表

【leetcode千题】21. 合并两个有序链表 将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 示例: 输入:1-2-4, 1-3-4 输出:1-1-2-3-4-4 思路:直接一个个遍历呗 # Definition for singly-linked list.# cla

C语言第8题:变量作用阈

C语言第8题:变量作用阈 #includestdio.hint a = 20;//全局变量void test1(){int a1 = 0;int a = 100;}void test2(){int a2 = 100;}int main(){int a = 0;a = 10;system(pause);return 0;} 文件中的变量 extern int a ; 出现在括号外面的变量就是全局变量 不

c语言折半查找输出坐标,数据结构(C语言版)——有序表查找(折半查找)(代码版)...相关推荐

  1. c语言折半查找输出坐标,用c语言编写折半查找法

    折半查找法又称为二分查找,是在一个有序数组里面找到一个具体的数,方法我在代码里注释到了. #include int binary_search(int *arr, int key, int sz)// ...

  2. 查找技术:有序表的对分查找(折半查找)类

    一 查找技术相关总结: 1.顺序查找:(1)如果线性表为无序表(即表中元素的排序是无序的),则不管是顺序存储结构还是链式存储结构,都只能用顺序查找:(2)即使是有序线性表,如果采用链式存储结构,也只能 ...

  3. BinarySearch 有序表的二分查找

    BinarySearch 有序表的二分查找 思路: 前提是线性表采用顺序存储(通常从小到大),然后在有序表中取中间记录作为比较对象,若给定值与中间记录的关键字相等,则查找成功:若小于,则在中间记录的左 ...

  4. 数据结构(1)有序表查找

    有序表查找 /* 主函数 */public class OrderTableSearch {public static void main(String[] args) {int [] a= {0,1 ...

  5. 为什么C语言是非形式化的,《数据结构C语言版》——绪论

    <数据结构C语言版>--绪论<笔记> 一.基本概念和术语 1.数据,数据元素, 数据项,数据对象 数据:是客观事物的符号表示,是所有能够输入到计算机中并被计算机程序处理的符号的 ...

  6. 数据结构C语言 胡学钢 PDF,数据结构(C语言版) 胡学钢.ppt

    数据结构(C语言版) 胡学钢 2.3 链表--单链表的应用(头结点) 设计算法,判断带头结点单链表L是否递增?若递增,则返回true,否则返回false. 分析: (1)链表空,返回true: (2) ...

  7. 数据结构c语言邓红卫答案,数据结构(C语言版)

    辽宁省"十二五"普通高等教育本科省级规划教材. 数据结构学习与实验指导(C语言版)(普通高校本科计算机专业特色教材精选·算法与程序设计) ¥30.00定价:¥30.00 /2012 ...

  8. C语言前驱和后继字母,数据结构(c语言)3.ppt

    1 第2章 线性表 2.1 线性表的定义及其基本操作 2.2 线性表的顺序存储 2.3 线性表的链式存储 2.4 线性表的存储方式小结 仔佳痴腔慎析沙析增孙丸斌明躬烟议怠鸭顷扣战突邑菩置慰训即檬氨酵涟 ...

  9. 编译原理上机实习c语言小子集编译程序的实现报告,合肥工业大学编译原理实验报告(完整代码版)...

    <合肥工业大学编译原理实验报告(完整代码版)>由会员分享,可在线阅读,更多相关<合肥工业大学编译原理实验报告(完整代码版)(58页珍藏版)>请在人人文库网上搜索. 1.计算机与 ...

最新文章

  1. 《监控》再起风云,连同创作中的《监控2》成功牵手影视公司
  2. python3 http服务端响应源码
  3. 校园二手交易平台的开发和利用
  4. 【渝粤题库】国家开放大学2021春3894理工英语1题目
  5. dp线长什么样子_HDMI、VGA、DVI、DP接口知识,史上最全面最通俗易懂对比分析!...
  6. java 进度条jsp,jsp进度条_jsp技巧
  7. CentOS设置网卡成DHCP动态获取IP
  8. 物联网NodeMCU刷写AT固件
  9. Laravel每日一记
  10. html 页眉选项卡,连续两个奇数页页眉 再选择插入菜单——分页,执行2次
  11. 英语读音(二) / English Pronounciation
  12. 终极卸载PC奇安信天擎
  13. C++ 常用数学函数
  14. 数据比赛资料(杂合)
  15. 学生学籍管理系统~~功能界面
  16. 联想小新Pro14 2023款和2022款区别
  17. python表白女神
  18. 用python生成excel文件_python通过openpyxl生成Excel文件的方法
  19. C# 获取Windows系统ICON图标的四种方式-可提取各种文件夹、文件等等图标
  20. 当笔记本是无线连接网络时,如何正确配置virtualbox的上网问题

热门文章

  1. Matlab绘图--包含各种标示符的输入方法
  2. Python ——告白小程序,添加微信号(快来设置你的freestyle吧)
  3. saphana服务器硬件评估,华为SAP HANA一体机:你身边的数据计算专家
  4. 运用计算机计算包含排斥原理,离散数学包含及排斥原理.ppt
  5. 华为什么时候更新鸿蒙os,华为鸿蒙系统升级时间表
  6. java递增_java-8 – 如何按组递增
  7. 计算机支持协同工作不是多媒体应用,计算机支持的协同工作概观.PDF
  8. python excel token_python+excel接口自动化获取token并作为请求参数进行传参操作
  9. 【转】谈谈c#中异步编程模型的变迁**
  10. 【转】RabbitMQ六种队列模式-5.主题模式