志在指尖
用双手敲打未来

二分查找

咱们首要来看看能运用二分查询算法的条件:
1、必须采用顺序结构存储结构;
2、必须按关键字大小有序排序。
二分查找的基本思想是将数组中的n个元素分成大致持平的两部分,取数组的a[n/2]与x进行比较,x大于a[n/2]表明x存在于前半部分的数组中,反之表明x存在于后半部分的数组中;重复相同的操作直到找出匹配值x或数组不存在匹配值。C#
代码如下:
[C#]纯文本检查复制代码
///
///查找数组中值的索引(二分查找)
///
///数组
///查找值
///返回值在数组中的索引(查找值不存在在数据中时返回-1)
publicstaticintBinarySearch(int[]binarysearch,intNum)
{
intiMin=0;//最小索引
intiMax=binarysearch.Length-1;//最大索引
while(iMin<=iMax)
{
//取减半的索引
intNumber=(iMax+iMin)/2;
//判别数组的值是否大于查找值大于:更改最大索引
if(binarysearch[Number]>Num)
{
iMax=Number-1;
}
//判别数组的值是否小于查找值小于:更改最小索引
elseif(binarysearch[(Number)]<Num)
{
iMin=Number+1;
}
else
{
//判别数组的值等于查找值直接返回索引值
returnNumber;
}
}
return-1;
}

未经允许不得转载:IT技术网站 » 二分查找
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!

 

志在指尖 用双手敲打未来

登录/注册IT技术大全

热门IT技术

C#基础入门   SQL server数据库   系统SEO学习教程   WordPress小技巧   WordPress插件   脚本与源码下载