二分查找(BinarySearch):又叫折半查找,从有序列表的初始候选区li[0:n]开始,通过对待查找的值与候选区中间值的比较,可以使候选区减少一半。
PS:二分查找只针对有序的列表
//只针对有序的列表
public int BinarySearch(List<int> li, int value)
{
int left = 0;
int right = li.Count - 1;
int mid = (left + right) / 2;
while (left<right)
{
mid = (left + right) / 2;
if (li[mid] == value)
return mid;
if (li[mid] > value)
right = mid - 1;
else
left = mid + 1;
}
return -1;
}
来源:CSDN
作者:lvcoc
链接:https://blog.csdn.net/lvcoc/article/details/104130640