当前位置: 首页 > 编程语言 > C#

为什么C#Array.BinarySearch这么快?Share

时间:2023-04-10 12:10:32 C#

C#Array.BinarySearch为什么这么快?我在C#中有一个非常简单的binarySearch实现,用于在整数数组中查找整数:binarysearchstaticintbinarySearch(int[]arr,inti){intlow=0,high=arr.Length-1,mid;while(low<=high){mid=(low+high)/2;如果(iarr[mid])low=mid+1;否则返回中间;}返回-1;与C#一起使用当与我的原生Array.BinarySearch()进行比较时,我发现Array.BinarySearch()的速度是我的函数的两倍多。MSDN上的Array.BinarySearch:在整个一维排序数组中搜索特定元素,使用Array的每个元素和指定对象实现的IComparable泛型接口。是什么让这种方法如此之快?使用系统诊断;类程序{staticvoidMain(){Randomrnd=newRandom();秒表sw=new秒表();constint元素=10000000;内部温度;int[]arr=newint[元素];for(inti=0;i