C# | 二分查找算法的实现
发布人:shili8
发布时间:2023-12-21 13:53
阅读次数:42
二分查找算法是一种高效的搜索算法,它可以在有序数组中快速查找指定的元素。在C#中,我们可以使用递归或迭代的方式来实现二分查找算法。
下面是一个使用迭代方式实现二分查找算法的示例代码:
csharpusing System;
class BinarySearch{
static int IterativeBinarySearch(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)
{
return mid;
}
else if (arr[mid] < target)
{
left = mid +1;
}
else {
right = mid -1;
}
}
return -1;
}
static void Main()
{
int[] arr = {2,4,6,8,10,12,14,16,18,20 };
int target =12;
int result = IterativeBinarySearch(arr, target);
if (result != -1)
{
Console.WriteLine("Element found at index " + result);
}
else {
Console.WriteLine("Element not found");
}
}
}
在上面的示例中,我们定义了一个名为`IterativeBinarySearch`的方法来实现二分查找算法。该方法接受一个有序数组和一个目标元素作为参数,并返回目标元素在数组中的索引,如果目标元素不存在则返回-1。
在`Main`方法中,我们定义了一个有序数组`arr`和一个目标元素`target`,然后调用`IterativeBinarySearch`方法来查找目标元素在数组中的索引,并输出结果。
通过这个示例,我们可以看到如何使用C#来实现二分查找算法,并且可以根据需要进行适当的修改和扩展。

