题目详情
单选题 对于下列二分查找算法,以下正确的是( )
A. int binarySearch(int a[], int n, int x){ if(n > 0 && x >= a[0]){ int low = 0, high = n-1;while(low < high){ int mid=(low+high+1)/2;if(x < a[mid])high=mid-1;else low=mid;}if(x==a[low]) return low;}return –1;}
B. int binarySearch (int a[], int n, int x){ int low=0, high=n-1;while(low<high-1){ int mid=(low+high)/2;if(x<a[mid])high=mid;else low=mid;}if(x==a[low]) return low;else return –1;}
C. int binarySearch(int a[], int n, int x){ int low=0, high=n-1;while(low+1!=high){ int mid=(low+high)/2;if(x>=a[mid]) low=mid;else high=mid;}if(x==a[low]) return low;else return –1;}
D. int binarySearch(int a[], int n, int x){ int low=0, high=n-1;while(low<=high){ int mid=(low+high)/2;if(x==a[mid]) return mid;if(x>a[mid]) low=mid;else high=mid;}return –1;}

学科:算法分析与设计(22级)
时间:2024-03-31 13:37:18
相关题目
相关作业
