二分查找 递归实现

    xiaoxiao2023-10-18  166

    #include <iostream> #include<iomanip> using namespace std; int find(int left, int right, int a[],int k) { int mid = (left + right) / 2; if (left <= right) { if (k > a[mid]) { find(mid + 1, right, a, k); } else if (k < a[mid]) { find(left, mid - 1, a, k); } else if (k == a[mid]) { return mid; } } else return -1; } int main() { int a[] = { 1,2,3,6,7,9,10 }; cout<<find(0, 6, a, 10); system("pause"); }
    最新回复(0)