每天打卡一小时 第三天 编程四部曲
二分查找法
第一部曲 自然语言
第一步 定义数组的左右测数组下标,计算中间值
第二步 while循环 对所给定的数进行查找
如果数大于中间值 左侧等于中间下标加1
如果数小于中间值 右侧等于中间下标减2
当找到这个数,进行输出 中间下标便是 这个数的位置
第二部曲 流程图
第三部曲 伪代码(代码)
#include <iostream>
using namespace std;
#define N 10
int main()
{
int i,a[N]={-3,4,7,9,13,45,67,89,100,180};
int low=0,high=N-1,mid,k=-1,m;
cin>>m;
while(low<=high)
{
mid=(low+high)/2;
if(m<a[mid])
{
high=mid-1;
}
else if(m>a[mid])
{
low=mid+1;
}
else
{
k=mid;
break;
}
}
if(k>=0)
{
cout<<m<<endl<<k;
}
else
{
cout<<"NO FOUND";
}
}
第四部曲 总结
掌握更加高效的算法,学习数据结构
而不是用 for循环 游历数组 去查找数
在今后的解题中,可以运用折半查找
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix