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#来实现二分查找算法,并且可以根据需要进行适当的修改和扩展。