[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...