有序数组 2F查找
来源:互联网 发布:哈萨克软件下载大全 编辑:程序博客网 时间:2024/06/06 10:49
自定义排序数组:
public class MyOrderArray {private int[] arr;private int elements;public MyOrderArray(){arr = new int[50];}/* * 插入后的数组是有序的 */public void insert(int value){int i;for(i=0;i<elements;i++){if(arr[i]>value){break;}}for(int j=elements;j>i;j--){arr[j] = arr[j-1];}arr[i] = value;elements++;}/* * 二分法查找 */public int binarySearch(int value){int low = 0;int pow = elements;int middle = 0;while(true){middle = (low+pow)/2;if(arr[middle] == value){return middle;}else {if(arr[middle]>value){pow = middle-1;}else{low = middle +1;}}}}/* * 线性查找 */public int linearSearch(int value){int i;for(i=0;i<elements;i++){if(arr[i]==value){break;}}return i;}/* * 显示数组 */public void display(){System.out.print("[");for(int i=0;i<elements;i++){System.out.print(arr[i]+" ");}System.out.print("]");}}
测试片段:
public class TestMyOrderArray {public static void main(String[] args) {MyOrderArray myOrderArray = new MyOrderArray();myOrderArray.insert(23);myOrderArray.insert(10);myOrderArray.insert(4);myOrderArray.insert(1);myOrderArray.insert(56);myOrderArray.insert(7);myOrderArray.insert(100);myOrderArray.insert(79);myOrderArray.display();System.out.println();System.out.println(myOrderArray.binarySearch(56));}}
输出:
[1 4 7 10 23 56 79 100 ]5
这就是2F查找.
0 0
- 有序数组 2F查找
- 二分法查找有序数组
- 环有序数组查找
- 二维有序数组查找
- 二分法查找有序数组
- 有序数组的查找
- 二分法查找有序数组
- 循环有序数组查找
- 有序数组查找
- 有序数组的查找
- 有序数组\二分查找
- 二维有序数组查找
- 二维有序数组查找
- 有序数组二分查找
- 有序数组的随机化查找
- 循环有序数组查找问题
- 有序数组中的二分查找
- 有序数组的折半查找
- uva 437(最长递减子序列)
- Memcached单点问题——实战之复制----基于repcached的主从
- UICollectionView 简单使用 代码创建
- 在独立的文件中定义WPF资源
- Java 反射机制[Method反射]
- 有序数组 2F查找
- final关键字修饰变量的几点思考
- 来自知乎的一篇好文章--为什么阿里系软件体验都不好?
- 简单选择排序
- Lua杂记一:文件读写、table库、字符串库
- 二叉搜索树与双向链表 【微软面试100题 第一题】
- Linux 常用命令(三)
- 有关memcached使用的几个限制
- 字符串是否有非数字判断 charCodeAt()的使用