您的位置:首页 > 理论基础 > 数据结构算法

《数据结构与算法》学习笔记19 递归_二分查找

2016-08-23 09:54 387 查看
public class Array {
private long[] a;
private int elems;
public Array(int size){
a=new long[size];
elems=0;
}
public boolean find(long value){
int i=0;
for(i=0;i<elems;i++){
if(a[i]==value)
System.out.println(i);}
if(i==elems) return false;
else return true;
}

public void insert(long value) {
int i=0;
for(i=0;i<elems;i++)
if(value<a[i])  break;
for(int k=elems;k>i;k--)
a[k]=a[k-1];
a[i]=value;
elems++;
}

public void delete(int x){
for(int i=x;i<elems-1;i++){
a[i]=a[i+1];
}
elems--;
}

public void display(){
for(int i=0;i<elems;i++){
System.out.println(i+":"+a[i]);
}
}

public int getSize(){
return elems;
}

public int search(long data,int low,int up){
int middle;
middle=(up+low)/2;
if(a[middle]==data) {System.out.println(middle);return middle;}
else if(low>up)  return -1;
else if(a[middle]>data){
return search(data,low,middle-1);
}
else return search(data,middle+1,up);
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: