看书上说虽然算法1946年就出现了,但是第一个没有bug的程序到1962年才出现 听起来挺恐怖的,写了一下,麻烦大牛给看两眼有木有bug,谢谢! int binarysearchR(int arr[], int low, int high, int key){ if((low>high)||(low<0)) return -1; int mid=low+(high-low)/2; if (arr[mid]==key) return mid; if (arr[mid]>key) return binarysearchR(arr, low, mid-1, key); if (arr[mid] } int binarysearch(int arr[], int low, int high, int key){ if(low<0) return -1;
while(low<=high){ int mid=low+(high-low)/2; if (arr[mid]==key) return mid; else if (arr[mid]else high=mid-1;
第一个至少可以这么改进一下: int binarysearchR(int arr[], int low, int high, int key){ if(low>=high||low<0) return -1; int mid=(low+high)/2; if (arr[mid]==key) return mid; if (arr[mid]>key) return binarysearchR(arr, low, mid-1, key); if (arr[mid]}
【在 n********r 的大作中提到】 : 看书上说虽然算法1946年就出现了,但是第一个没有bug的程序到1962年才出现 : 听起来挺恐怖的,写了一下,麻烦大牛给看两眼有木有bug,谢谢! : int binarysearchR(int arr[], int low, int high, int key){ : if((low>high)||(low<0)) return -1; : int mid=low+(high-low)/2; : if (arr[mid]==key) return mid; : if (arr[mid]>key) return binarysearchR(arr, low, mid-1, key); : if (arr[mid]: : }