Java查找算法
来源:互联网 发布:淘宝 男装 原单 编辑:程序博客网 时间:2024/05/22 04:37
1:线性查找算法
(这个就是典型的线性查找,从头到尾)
//查找数据
//我们是根据什么来查找呢?我们是根据值来查找,返回她的所有值
public int search(long value){
int i;//i在外面进行一个判断,然后在循环里面赋值
// 比如说我查找这个15,arry.insert(15);,那么她的索引是2
//怎么样来查呢?同样也是经过一个循环
for (i = 0; i < elements; i++) {
if (value == array[i]) {//如果值是等于array[i]
// 如果查找到了,就跳出
break;
}
}
2:二分法查找算法
二分法查找前提是你这个数组是有序的
比如说一组数组是
1,3,4,5,7,9,10
二分法查找是从中间开始
一边是往左边查,一边是往右边查
思考:什么时候从左边查,什么时候从右边查呢?5比3大,所以我需要的数肯定在左边,
接着又在1,3,45,之间进行二分法,直到查到为止
//二分法查找数据
public int binarySearch(long value){
//首先给中间的值为0
int middle = 0;
int low =0;//左边为0,表示最低点
int pow=elements;//最大为elements
//在里面进行一个死循环
while(true){
middle=(pow+low)/2;
if(array[middle]==value){//如果中间的值等于我查找的值
return middle;
}else if(low >pow){
return -1;
}else{
if(array[middle]>value){
//条件让我们往左走
pow = middle-1;
}else{
// 否则往右边走
low =middle+1;//最低点等于中间的值加1,就是往右走
}
}
}
}
测试代码
MyOrderarray myOrderarray = new MyOrderarray();
myOrderarray.insert(90);
myOrderarray.insert(80);
myOrderarray.insert(30);
myOrderarray.insert(20);
myOrderarray.diplay();
System.out.println(myOrderarray.binarySearch(30));
- Java查找算法--线性查找
- java 查找算法
- Java 中几种查找算法
- java 二分查找算法
- 二叉排序树 查找算法 java
- java 二分查找算法
- Java二分查找算法
- 查找算法Java实现
- java顺序查找算法
- java 二分查找算法
- Java 中几种查找算法
- 二分查找算法(Java)
- Java-二分查找算法
- Java 查找算法
- Java 二分法查找算法
- Java二分查找算法
- 查找算法Java
- Java-二分查找算法
- 分页
- STL--stack
- ueditor编辑器与springmvc整合使用
- selenium之 关闭窗口close与quit
- php实现页面静态化(纯静态&&伪静态)
- Java查找算法
- 从追MM谈Java的23种设计模式
- JQuery实现置顶、置底、向上、向下、取消排序功能
- Android 面试精华题目总结
- 字节对齐
- Spring注解
- MongoDB——第二天 细说增删查改
- 深入分析Java ClassLoader原理
- Fintech前沿技术周报【2016-12-20】