初识C语言之二维数组(下)

一.二分查找(折半查找)

①题目描述:在有序数组中查找n

②前提:该数组是有顺序的

③代码实现:

#include<stdio.h>

int main()

{

int k=0;//定义一个变量并且初始化为零

scanf("%d",&k);//键盘输入要查找的数字

int sz=sizeof(arr)/sizeof(arr[0]);//计算数字的个数

int left=0;//定义一个变量为数字最左边的值

int right=sz-1;//定义一个变量为数字最右边的值

while(left<=right)//当左数小于等于右数时,触发循环

{

int mid=(left+right)/2;//定义变量为中间数

if(arr[mid]>k)//当中间数大于k

{

right=mid-1;//将中间值减一赋给右值

}

if(arr[mid]<k)

{

left=mid+1;

}

if(arr[mid]=k)//当中值刚好等于k

{

printf("找到了,下标为%d",mid);

break;//结束循环

}

}

if(left>right)

{

printf("找不到");

}

return 0;

}

相关推荐
SunnyByte2 小时前
C语言——贪吃蛇的实现
c语言·单链表·贪吃蛇
浅念-3 小时前
刷穿LeetCode:BFS 解决 Flood Fill 算法
数据结构·c++·算法·leetcode·职场和发展·bfs·宽度优先
做cv的小昊3 小时前
【TJU】研究生应用统计学课程笔记(8)——第四章 线性模型(4.1 一元线性回归分析)
笔记·线性代数·算法·数学建模·回归·线性回归·概率论
贾斯汀玛尔斯4 小时前
每天学一个算法--倒排索引(Inverted Index)
算法·inverted-index
小e说说4 小时前
打破偏科困境:这些学习软件助孩子重燃学习热情
算法
月昤昽5 小时前
autoCAD二次开发 4.正多边形与collection区分
算法·c#·二次开发·autocad二次开发
休息一下接着来5 小时前
C++ 固定容量环形队列实现
c++·算法
im_AMBER5 小时前
手撕hot100之矩阵!看完这篇就AC~
javascript·数据结构·线性代数·算法·leetcode·矩阵
笨笨饿6 小时前
#79_NOP()嵌入式C语言中内联汇编宏的抽象封装模式研究
linux·c语言·网络·驱动开发·算法·硬件工程·个人开发