C++趣味编程
折半查找。
1 #include <iostream> 2 using namespace std; 3 #define N 10 4 int main() 5 { 6 int i,a[N]={-3,4,7,9,13,45,67,89,100,180},low=0,high=N-1,mid,k=-1,m; 7 cout<<"a数组中数据如下"<<endl; 8 for(int i=0;i<N;i++) 9 { 10 cout<<a[i]<<" "; 11 } 12 cout<<endl; 13 cin>>m; 14 while(low<=high) 15 { 16 mid=(low+high)/2; 17 if(m<a[mid]) 18 { 19 high=mid-1; 20 } 21 else 22 { 23 if(m>a[mid]) 24 low=mid+1; 25 else 26 { 27 k=mid; 28 break; 29 } 30 } 31 } 32 if(k>=0) 33 { 34 cout<<m<<","<<k<<endl; 35 } 36 else 37 { 38 cout<<"no found"<<endl; 39 } 40 41 }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?