intbinarysearch(int a[],int key){
int l =0, r = n -1;while(l<=r){
int mid =(l + r)/2;if(a[mid]== key)return mid;elseif(a[mid]> key) r = mid -1;elseif(a[mid]< key) l = mid +1;}return-1;//没有找到}intleftsearch(int a[],int key){
if(n ==0)return-1;int l =0, r = n;while(l < r){
int mid =(l + r)/2;if(a[mid]== key) r = mid;elseif(a[mid]> key) r = mid;elseif(a[mid]< key) l = mid +1;}if(l == n)return-1;return a[l]== key ? l :-1;}intrightsearch(int a[],int key){
if(n ==0
二分法的模板int binarysearch(int a[], int key){ int l = 0, r = n - 1; while (l<=r) { int mid = (l + r) / 2; if (a[mid] == key) return mid; else if (a[mid] > key) r = mid - 1; else if (a[mid] < key) l = mid + 1; } return -1;//没有找到}int left