welcome to Qijie's Blog 薛其杰

 

    class Program
    {
        static void Main(string[] args)
        {
            int[] arr = new int[] { 5,10,50,200,1000,10001};

            int index = BinarySearch(arr, 5, 5, 10001);
        }

        static int BinarySearch(int[] array, int left, int right, int value)
        {
            int mid;

            while (left <= right)    //Important to use <=
            {
                mid = ((left +  right) >> 1);
                if (array[mid] == value)
                    return mid;
                else if (array[mid] < value)
                    left = mid + 1;
                else if (array[mid] > value)
                    right = mid - 1;
            }
            return - 1;
        }
    }

 

posted on 2013-09-22 09:16  零点零一  阅读(226)  评论(0编辑  收藏  举报