《数据结构与算法》学习笔记3 有序数组与二分查找
来源:互联网 发布:西部世界阿诺德 知乎 编辑:程序博客网 时间:2024/06/05 14:41
</pre><pre code_snippet_id="1836872" snippet_file_name="blog_20160817_2_9019752" name="code" class="java">//import java.lang.math.*;public class OrdArray { private long[] a; private int size; public OrdArray(int value){ a=new long[value]; size=0; } public void insert(long value){int i;for(i=0;i<size;i++) if(value<a[i]) break;for(int j=size;j>i;j--) a[j]=a[j-1];a[i]=value;size++; } public int find(long value){int i=size-1;int j=0;int k;int num=(int) (Math.log(i+1)/Math.log(2));for(k=0;k<num;k++) { //找到valueif(a[i]==value) {k=i;break;}else if(a[j]==value) {k=j;break;}else if(a[i/2]<value) j=i/2;else if(a[i/2]>value) i=i/2;else { k=i/2;break;} }if(a[k]!=value) System.out.println("error");else System.out.println("success:"+k);return k;}// public int find(long value){// int lowbound=0;// int upperbound=size-1;// int cut;// while(true){// cut=upperbound/2;// if(a[cut]==value) return cut;// else if(lowbound>upperbound) return size;// else {// if(a[cut]<value) lowbound=cut+1;// else upperbound=cut-1;// }// }// } public boolean delete(long value){int k=find(value);for(int x=k;x<size-1;x++){a[x]=a[x+1];}size--;if(k<=size&&k>=0) return true;else return false;} public void display(){ for(int i=0;i<size;i++) System.out.println(a[i]); } }
</pre><pre code_snippet_id="1836872" snippet_file_name="blog_20160817_4_8736344" name="code" class="java">
<pre name="code" class="java">public class OrdArrayApp { public static void main(String[] arg){ OrdArray arr; arr=new OrdArray(10); arr.insert(12); arr.insert(32); arr.insert(3); arr.insert(87); arr.insert(23); arr.insert(122); arr.delete(122); arr.display(); }}
0 0
- 《数据结构与算法》学习笔记3 有序数组与二分查找
- java数据结构与算法-有序数组二分查找
- 【数据结构与算法】有序数组二分法查找
- 《数据结构与算法》学习笔记19 递归_二分查找
- 数据结构与算法之整体有序数组的查找
- 【数据结构与算法】二分查找
- 数据结构与算法------二分查找
- 【数据结构与算法】二分查找
- 【数据结构与算法】二分查找
- 数据结构与算法,二分查找
- 数据结构和算法------有序数组和二分查找
- 《Java数据结构与算法》笔记-CH2有序数组
- 新手学习数据结构与算法---二分查找算法
- 数据结构与算法(二分查找算法)
- 数据结构与算法分析笔记与总结(java实现)--排序11:有序矩阵查找练习题
- python数据结构与算法28 二分查找
- 【数据结构与算法】九 二分查找
- 数据结构与算法之二分查找
- CF 704D Captain America 上下界网络流
- Remove Duplicates from Sorted Array——移除排序数组中重复元素
- tigervnc on centos 6.5
- Swift-->从相册(摄像头)选择照片,图片选择
- UVA10047 The Monocycle (bfs)
- 《数据结构与算法》学习笔记3 有序数组与二分查找
- Maven jar包冲突解决方案
- jQuery实现倒计时效果
- 时间函数
- Android屏幕适配问题
- 类反射(1)初识类反射
- do while(false)
- 【实践】java.lang.Integer源码分析 -- parseInt
- 新的博客