复制
收藏
提问
全网

#include<bits/stdc++.h> using namespace std; int find(int a[],int k,int n){ int L,R,mid; L=1; R=n; while(L<R){ mid=(L+R)/2; if(a[mid]==k){ return mid; } else if(a[mid]>k){ R=mid-1; } else{ L=mid+1; } } return -1; } int main(){ int a[100005],x; int n; cin>>n; for(int i=1;i<=n;i++){ cin>>a[i]; } cin>>x; cout<<find(a,x,n); return 0; }

1d139ba0c
4个月前
全网
文档
学术
百科
知识库
时间不限
自动

理解问题#include<bits/stdc++.h> using namespace std; int find(int a[],int k,int n){ int L,R,mid; L=1; R=n; while(L<R){ mid=(L+R)/2; if(a[mid]==k){ return mid; } else if(a[mid]>k){ R=mid-1; } else{ L=mid+1; } } return -1; } int main(){ int a[100005],x; int n; cin>>n; for(int i=1;i<=n;i++){ cin>>a[i]; } cin>>x; cout<<find(a,x,n); return 0; }

已完成理解#include<bits/stdc++.h> using namespace std; int find(int a[],int k,int n){ int L,R,mid; L=1; R=n; while(L<R){ mid=(L+R)/2; if(a[mid]==k){ return mid; } else if(a[mid]>k){ R=mid-1; } else{ L=mid+1; } } return -1; } int main(){ int a[100005],x; int n; cin>>n; for(int i=1;i<=n;i++){ cin>>a[i]; } cin>>x; cout<<find(a,x,n); return 0; }

展开阅读网页

更简洁一些
转笔记
简洁
#include<bits/stdc++.h> using namespace std; int find(int a[],int k,int n){ int L,R,mid; L=1; R=n; while(L<R){ mid=(L+R)/2; if(a[mid]==k){ return mid; } else if(a[mid]>k){ R=mid-1; } else{ L=mid+1; } } return -1; } int main(){ int a[100005],x; int n; cin>>n; for(int i=1;i<=n;i++){ cin>>a[i]; } cin>>x; cout<<find(a,x,n); return 0; }
知识树
#include<bits/stdc++.h> using namespace std; int find(int a[],int k,int n){ int L,R,mid; L=1; R=n; while(L<R){ mid=(L+R)/2; if(a[mid]==k){ return mid; } else if(a[mid]>k){ R=mid-1; } else{ L=mid+1; } } return -1; } int main(){ int a[100005],x; int n; cin>>n; for(int i=1;i<=n;i++){ cin>>a[i]; } cin>>x; cout<<find(a,x,n); return 0; }
C++中如何实现二分查找算法?
C++标准库中有哪些容器支持二分查找?
二分查找的时间复杂度是多少?

以上内容由AI搜集生成,仅供参考

在线客服