当前位置:首页C# > 正文

C#实现的二分查找算法

作者:野牛程序员:2024-04-12 20:49:56C#阅读 2331
C#实现的二分查找算法

以下是用C#编写的二分查找算法示例:

using System;

class BinarySearch
{
    // 二分查找函数
    static int BinarySearchFunc(int[] arr, int target)
    {
        int left = 0;
        int right = arr.Length - 1;

        while (left <= right)
        {
            int mid = left + (right - left) / 2;

            // 如果目标值在中间值的左侧,缩小右边界
            if (arr[mid] > target)
                right = mid - 1;
            // 如果目标值在中间值的右侧,缩小左边界
            else if (arr[mid] < target)
                left = mid + 1;
            // 找到目标值
            else
                return mid;
        }

        // 目标值不存在于数组中
        return -1;
    }

    // 主函数,用于测试二分查找
    static void Main(string[] args)
    {
        int[] arr = { 2, 4, 6, 8, 10, 12, 14, 16, 18, 20 };
        int target = 12;
        int result = BinarySearchFunc(arr, target);

        if (result != -1)
            Console.WriteLine($"目标值 {target} 在数组中的索引为 {result}。");
        else
            Console.WriteLine($"目标值 {target} 不存在于数组中。");
    }
}

这段代码实现了一个简单的二分查找算法。在 Main 函数中,创建了一个有序数组 arr,然后调用 BinarySearchFunc 函数来查找目标值 target 在数组中的索引位置。如果找到了目标值,则返回其索引位置;如果没有找到,则返回 -1。

野牛程序员教少儿编程与信息学奥赛-微信|电话:15892516892
野牛程序员教少儿编程与信息学竞赛-微信|电话:15892516892

最新推荐

热门点击