使用二分查找向一个有序数组中插入一个数据

Posted 曹某某的博客

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用二分查找向一个有序数组中插入一个数据相关的知识,希望对你有一定的参考价值。

折半查找法找到一个元素在数组中的下标
 * @param arr 数组
 * @param key 要查找的元素
 * @return 找到则返回元素在数组中的下标,如果没找到,则返回这个元素在有序数组中的位置
 * 如:[1,4,6,7,10,11,15],查找8在数组中的位置,如果存在则返1,不存在则返回在7这个下标+1的这个位置上,
  也就是说在返回10所在位置上的下标 */ public static int arrayIndexOf(int[] array,int key) { int min,max,mid; min = 0; max = array.length - 1; while(min <= max) { mid = (min + max) >> 1; if (key > array[mid]) { min = mid + 1; } else if (key < array[mid]) { max = mid - 1; } else { return mid; } } return min;

}

以上是关于使用二分查找向一个有序数组中插入一个数据的主要内容,如果未能解决你的问题,请参考以下文章

二分查找总结

树(数据结构二)

入门算法-二分查找,二分排序,插入排序,冒泡排序

二分查找法

循环有序数组的二分查找

数据结构 - 二叉树