[C#]二叉查找法

 public  int binSearch(int value)
         {
             int upperBround,lowerBound,mid;
             upperBround = arr.Length - 1;
             lowerBound = 0;

             while (lowerBound <= upperBround)
             {

                 mid = (upperBround + lowerBound) / 2;
                 if (arr[mid] == value)   
                 {
                     return mid;
                 }

                 else if (value < arr[mid]) 
                 {
                     upperBround = mid - 1;
                 }
                 else 
                 {
                     lowerBound = mid + 1;
                 }


             }
             if (lowerBound > upperBround)
                 return -1;
             return (upperBround + lowerBound) / 2;
         }
  */
            CArray nums = new CArray(10);
            Random rnd = new Random();
            for (int i = 0; i < 10; i++)
            {
                nums.Insert(rnd.Next(100));
            }
            nums.BubbleSort();
            nums.DisplayElements();

            int position = nums.binSearch(77);
            if (position > -1)
            {
                Console.WriteLine("Find item 77");
                nums.DisplayElements();
            }
            else 
            {
                Console.WriteLine("Not in the array");

            }
            Console.ReadKey();

相关文章

【啊哈!算法】算法3:最常用的排序——快速排序       ...
匿名组 这里可能用到几个不同的分组构造。通过括号内围绕的正...
选择排序:从数组的起始位置处开始,把第一个元素与数组中其...
public struct Pqitem { public int priority; ...
在编写正则表达式的时候,经常会向要向正则表达式添加数量型...
来自:http://blog.csdn.net/morewindows/article/details/6...