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

数据结构(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;

}

9e1c8f4f521488adb44da31119d3aff0.png

数据结构(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 ; 出现在括号外面的变量就是全局变量 不

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值