CShap 二分法检索 源代码
时间: 2023-09-30 12:12:34 浏览: 82
以下是使用C#编写的二分法检索的示例代码:
```csharp
using System;
public class BinarySearchExample
{
public static void Main()
{
int[] array = new int[] { 2, 4, 6, 8, 10, 12, 14, 16, 18, 20 };
int searchValue = 14;
int result = BinarySearch(array, searchValue);
if (result == -1)
{
Console.WriteLine("Element not found in the array");
}
else
{
Console.WriteLine("Element found at index " + result);
}
}
public static int BinarySearch(int[] array, int searchValue)
{
int left = 0;
int right = array.Length - 1;
while (left <= right)
{
int mid = (left + right) / 2;
if (array[mid] == searchValue)
{
return mid;
}
else if (array[mid] < searchValue)
{
left = mid + 1;
}
else
{
right = mid - 1;
}
}
return -1;
}
}
```
在此示例中,我们定义了一个名为`BinarySearchExample`的类,该类包含一个名为`Main`的方法。在`Main`方法中,我们定义了一个整数数组和一个要查找的值。然后,我们调用`BinarySearch`方法,将数组和查找值作为参数传递。
`BinarySearch`方法采用两个参数,一个整数数组和一个要查找的值。该方法使用左右指针来标记要搜索的数组部分。然后,它在`while`循环中进行搜索,直到找到与搜索值匹配的元素或搜索完整个数组。
在每次循环中,方法计算中间索引,即左右指针的平均值。然后它比较中间元素和搜索值。如果它们相等,则返回中间索引。如果中间元素小于搜索值,则将左指针移到中间索引的右侧。否则,将右指针移到中间索引的左侧。
如果未找到搜索值,则返回-1。在`Main`方法中,我们检查`BinarySearch`方法的返回值,并输出相应的消息。
阅读全文