1.二分法。
感觉二分法还是比较简单的,就是不停的切割数组,比较大小而已
代码如下
///
/// 二分法实现
///
/// 传入的数组(已排序过的数组)
/// 需要定位的数字
///
public int Binary_Search(int[] arr,int serachNum)
{
var startIndex = 0;
var endIndex = arr.Length - 1;
while (startIndex < endIndex)
{
var seIndex = Convert.ToInt32((startIndex + endIndex) / 2);
if (arr[seIndex] < serachNum)
startIndex = seIndex+1;
else
endIndex = seIndex-1;
if (arr[seIndex] == serachNum)
return seIndex;
}
return -1;
}算法学习笔记
原文:https://www.cnblogs.com/yuchenghao/p/9634086.html