插入一个整数到一个有序的数组中,并保证该数组是有序的
2012-01-01 14:48
225 查看
需求:将一个数插入到一个有续的数组中,插入成功后,还要保证该数组中的数是有序的
思考:
1)、用折半查找法找到这个数在数组中的位置,如果这个数存在数组中,就把这个数插入到这个数所在数组中的位置上就可以了,如果这个数不存在数组中,则返回这个数组中最小下标的值,该下标值就是该数要插入数组中的位置
2)、将这个数插入到指定数组中的位置
思考:
1)、用折半查找法找到这个数在数组中的位置,如果这个数存在数组中,就把这个数插入到这个数所在数组中的位置上就可以了,如果这个数不存在数组中,则返回这个数组中最小下标的值,该下标值就是该数要插入数组中的位置
2)、将这个数插入到指定数组中的位置
/** * 折半查找法找到一个元素在数组中的下标 * @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; }
相关文章推荐
- 插入一个整数到一个有序的数组中,并保证该数组是有序的
- 插入一个整数到一个有序的数组中,并保证该数组是有序的
- 黑马程序员-有一个有序的数组,想要将一个元素插入到该数组中,并保证该数组是有序的
- C 在一个升序的数组中插入若干个整数,并保证数组仍然升序
- 现在有一个有序的数组,要求用户输入一个整数放到数组中还保证这个数组是有序的。
- 有n个有序的整数放在一维数组中,输入一个数,将该数放入数组合适的位置,使插入该数后,数组中的元素仍然有序;
- 对一个有序数组进行折半查找和把一个整数插入这个数组序列,使其仍旧有序
- 将任意整数插入到一个有序数组a中,假设a升序
- 60}的C程序 高手帮忙写下`` 46 35 27 21 16 10 9 5 然后输出数组a。已知 int a[11]={1 使数组a仍然有序 将x插入到有序整型数组a中 由键盘输入一个整数x
- 有序数组,插入一个数后还保证有序
- 练习:有一个有序的数组,想要将一个元素插入到该数组中,还要保证该数组是有序的。如何获取该元素在数组中的位置.(2012.2.17)
- 对于一个有序的数组,如果要插入一个元素并保证数组还有序, 问如何获取该元素位置。用二分法
- 有一个有序数组,要求将一个新输入的数插入到数组中并保证插入新数后,数组仍有序。
- c语言在有序数组中插入一个数,使之依然有序
- 第十四周 oj训练 输入一个数插入有序数组中
- 编写一个程序,把一个有序整数数组放到二叉树中
- 怎样编写一个程序,把一个有序整数数组放到二叉树中
- (旋转数组问题)给定一个整数类型的循环有序数组,求循环数组的特定值,使用二分查找法(JAVA实现)
- 怎样编写一个程序,把一个有序整数数组放到二叉树中?
- 怎样编写一个程序,把一个有序整数数组放到二叉树中?