题目6A. 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;}B. 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;}C. int binarySearch (int a[], int n, int x){ int low=0, high=n-1;while(lowD. 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;}
题目8单选题
Hanoi塔问题:要求将塔座A上的的所有n圆盘移到塔座B上,借助塔座C,并仍按同样顺序叠置.移动圆盘时遵守Hanoi塔问题的移动规则.由此设计出解Hanoi塔问题的递归算法正确的为A. void hanoi(int n, int C, int A, int B) { if (n > 0) { hanoi(n-1, A, C, B); move(n,a,b); hanoi(n-1, C, B, A); } }B. void hanoi(int n, int A, int C, int B) { if (n > 0) { hanoi(n-1, A, C, B); move(n,a,b); hanoi(n-1, C, B, A); } }C. void hanoi(int n, int A, int B, int C) { if (n > 0) { hanoi(n-1, A, C, B); move(n,a,b); hanoi(n-1, C, B, A); } }D. void hanoi(int n, int C, int B, int A) { if (n > 0) { hanoi(n-1, A, C, B); move(n,a,b); hanoi(n-1, C, B, A); } }