每天打卡一小时 第三天 编程四部曲

二分查找法

第一部曲 自然语言

 

第一步 定义数组的左右测数组下标,计算中间值

第二步 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循环 游历数组 去查找数

在今后的解题中,可以运用折半查找

posted @   财神给你送元宝  阅读(14)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
点击右上角即可分享
微信分享提示