c# 二分查找

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_35759688/article/details/77836536
        /// <summary>
        /// 二分查找法
        /// </summary>
        /// <param name="array">有序数组</param>
        /// <param name="key">查找的值</param>
        /// <returns>数组中值的索引</returns>
        public static int BinaryChopSearch(int[] array, int key)
        {
            int lo = 0;
            int hi = array.Length - 1;
            while (lo <= hi)
            {
                int mid = lo + (hi - lo) / 2;
                if (key < array[mid]) hi = mid - 1;
                else if (key > array[mid]) lo = mid + 1;
                else return mid;
            }
            return -1;
        }

猜你喜欢

转载自blog.csdn.net/qq_35759688/article/details/77836536
今日推荐