Java练习(5)——折半查找扩展(插入元素)
来源:互联网 发布:新网域名转到腾讯云 编辑:程序博客网 时间:2024/06/06 10:31
/*需求:在一个有序数组中,插入一个元素,保证数组有序,输出该元素的角标位置, */public class halfsearch2 {public static void main(String[] args){int [] arry= {2,5,6,9,52};int index1=Half_1(arry,7);int index2=Half_2(arry,7);System.out.println("index1="+index1+'\n'+"index2="+index2);}/* 方法1,自己做的,改动较大,在折半查找基础上,不管原数组是否存在该元素 */static int Half_1(int [] arry,int value){int min = 0, max = arry.length-1;int mid= (min+max)>>1;//用if语句判断该元素与数组元素大小if(value>arry[max])mid=max;else if(value<arry[min])mid=min;else{while((max-min)!=1){if(value<arry[mid])max=mid;else if (value>arry[mid])min=mid;else break;mid = (min+max)>>1;}}return mid+1;}/*方案二,折半方法基础上改动,在原数组中查找该元素,找不到并不返回-1,而是min */static int Half_2(int [] arry,int value){int min = 0, max = arry.length-1,mid = (min+max)/2;if(value>arry[max])mid=max+1;else if(value<arry[min])mid=min;else{while(arry[mid]!=value){if(value<arry[mid])max=mid-1;else min=mid+1;if(min>max)//找不到的情况下return min;mid = (min+max)/2;}}return mid;}}
阅读全文
0 0
- Java练习(5)——折半查找扩展(插入元素)
- Java练习(4)——折半查找
- 折半查找(二分法 练习)
- 数组元素的查找(折半查找)
- 查找算法——折半查找(Java)
- 查找-二分查找(折半查找)-java
- 查找算法练习一(线性查找+折半查找)
- JAVA数组排序——二分(折半)查找
- 折半查找(java版)
- java数组(折半查找)
- java折半查找(二分法)
- java实现查找算法——折半查找(二分查找)
- java日常学习:直接查找法和二分法(折半法)查找数组元素
- 查找——折半查找(二分法查找)
- 折半查找(二分查找)Java实现
- 二分查找(折半查找),Java实现
- 折半查找(二分查找)——简单说明
- 折半插入与折半查找
- html 百度静态资源公共库
- Eclipse中找不到Servlet
- 双向链表的插入与删除
- MySQL基础(二)
- http://blog.csdn.net/csdnnews/article/details/78838714
- Java练习(5)——折半查找扩展(插入元素)
- 线程任务接口Callable使用void做为返回类型
- HAWQ安装PXF插件
- poi读取excel模板,填充内容并导出,支持导出2007支持公式自动计算
- Linux安装yarn
- 拿到标注图怎么布局?
- 仔细探讨一下Thread-safe和Async-signal safe
- re正则相关
- 1222实训