初识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;

}

相关推荐
zcg19423 分钟前
图像分割——常用数据和算法
算法
子午5 分钟前
基于YOLO的车牌识别检测~Python+YOLOV8算法+车牌定位+车牌检测+深度学习
python·算法·yolo
heimeiyingwang12 分钟前
【架构实战】分布式ID生成:雪花算法与业务ID设计
分布式·算法·架构
学会去珍惜12 分钟前
C++如何与C语言混合编程_在C++项目中调用C库函数的extern “C“方法
c语言·c++·混合编程·extern
代码中介商17 分钟前
排序算法完全指南(一):冒泡排序深度详解
算法·排序算法
灰灰勇闯IT21 分钟前
MindSpore 和 CANN 是什么关系——用一个厨房讲明白
人工智能·深度学习·算法·cann
阳明山水21 分钟前
模型迭代实战:如何将准确率从75%提升到89%
数据结构·人工智能·算法·机器学习·微信·微信公众平台·微信开放平台
呃呃本34 分钟前
算法题(贪心算法)
算法·贪心算法
听你说3235 分钟前
不迷路、不重扫、不遗漏:库萨科技无人清扫车以空间智能领跑无人环卫赛道
人工智能·科技·算法·机器人
吃好睡好便好38 分钟前
在Matlab中绘制三维直方图
开发语言·学习·算法·matlab·信息可视化