C ++ ::二进制搜索

描述

二进制搜索是一种广泛使用的搜索算法,该算法要求在应用搜索之前对数组进行排序。该算法背后的主要思想是将数组始终分为两半(分而治之),直到找到元素或所有元素用尽为止。

例子

    #include<iostream>

    #include<algorithm>

    void show(int a[], int arraysize) {

        for (int i = 0; i < arraysize; ++i)

            std::cout << a[i] << " ";

    }

int main() {

    int a[] = { 1, 5, 8, 9, 6, 7, 3, 4, 2, 0 };

    int asize = sizeof(a) / sizeof(a[0]);

    std::cout << "\n The array is : ";

    show(a, asize);

   /* Make sure to sort the array before applying binary_search() */

    std::sort(a, a + asize);

    std::cout << "\nSearch for element 10 : ";

    if (binary_search(a, a + 10, 10))

     std::cout << "\nElement found in the array";

    else

        std::cout << "\nElement not found in the array";

        return 0;

}

以上是 C ++ ::二进制搜索 的全部内容, 来源链接: utcz.com/z/341488.html

回到顶部