微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

[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();

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐