标签:小代码
#include <iostream> using namespace std; int findx(int *xx,int x,int n) { //assert(xx); int l=0;int r=n; int mid=r/2; if(xx[l]==x) return l; if(xx[mid]==x)return mid; if(xx[r]==x) return r; if(xx[l]<xx[mid]) r=mid; else l=mid; if(xx[l]<x&&x<xx[r]); else { if(x<xx[l])l=mid;r=n; if(x>xx[r])l=0;r=mid; } while(l<=r) { mid=(l+r)/2; if(x==xx[mid]) return mid; else if(x<xx[mid]) r =mid-1; else if(x>xx[mid]) l =mid+1; } return -1; } int main() { int xx[]={21,22,33,44,45,2,4,6,8,10}; cout<<findx(xx,22,10)<<endl; }
标签:小代码
原文地址:http://wzsts.blog.51cto.com/10251779/1771186