C#实现的二分查找算法
作者:野牛程序员:2024-04-12 20:49:56C#阅读 3481
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

- 上一篇:完全平方数的性质
- 下一篇:Python搜索算法-二分查找算法详解
