实现二分查找的递归与非递归实现
二分查找思想:1、数组从小到大排序;2、查找的key每次和中间数比较,如果key小于mid查找mid左侧的数组部分;如果key大于mid,则查找mid右侧的数组部分;如果相等,则直接返回mid。输入:排序数组-array,数组大小-aSize,查找值-key返回:返回数组中的相应位置,否则返回-1
int main(){int array[10];for (int i = 0; i < 10; i )array[i] = i;cout << "No recursive:" << endl;cout << "position:" << BinarySearch(array, 10, 6) << endl;cout << "recursive:" << endl;cout << "position:" << BinarySearchRecursive(array, 0, 9, 6) << endl;return 0;}
评论