C#实现二分法查找算法


  1. /// <summary>  
  2. /// 二分法查找  
  3. /// </summary>  
  4. /// <param name="arr"></param>  
  5. /// <param name="key">要查找的对象</param>  
  6. public static int BinarySearch(int[] arr,int value)  
  7. {  
  8.     int low = 0;  
  9.     int high = arr.Length - 1;  
  10.     while(low<=high)  
  11.     {  
  12.         int middle = (low + high) / 2;  
  13.         if (value == arr[middle])  
  14.         {  
  15.             return middle;//如果找到了就直接返回这个元素的索引  
  16.         }  
  17.         else if(value >arr[middle])  
  18.         {  
  19.             low = middle + 1;  
  20.         }  
  21.         else  
  22.         {  
  23.             high = middle - 1;  
  24.         }  
  25.     }  
  26.     return -1;//如果找不到就返回-1;  
  27. }  
 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM