用程序简单的模拟数组增删查的方法,代码如下:
public class HighArray {
private long[] a; //存储数据的数组
private int nElems; //总个数
public HighArray(int size){
a = new long[size];
nElems = 0;
}
//查找指定的项
public boolean find(long searchKey){
int j;
for(j=0;j<nElems;j++){
if(a[j] == searchKey){
//找到了
break; //退出循环
}
}
if(j==nElems){
//没找到
return false;
}else{
//找到了
return true;
}
}
//插入
public void insert(long value){
a[nElems] = value;
nElems++; //数量递增
}
//删除
public boolean delete(long value){
int j;
for(j=0;j<nElems;j++){
if(a[j]==value){
break;
}
}
if(j==nElems){
//没有找到
return false;
}else{
//找到了 先把后面的数据往迁移动
for(int k=j;k<nElems;k++){
a[k] = a[k+1];
}
nElems--; //数组大小减一
return true;
}
}
//查看
public void display(){
for(int j =0;j<nElems;j++){
System.out.println(a[j]+"");
}
}
public static void main(String[] args) {
HighArray arr = new HighArray(100);
arr.insert(77);
arr.insert(99);
arr.insert(44);
arr.insert(56);
arr.insert(98);
arr.insert(45);
arr.insert(39);
arr.insert(32);
arr.display();
int searchKey = 35;
if(arr.find(searchKey)){
System.out.println("Found "+searchKey);
}else{
System.out.println("can not found "+searchKey);
}
arr.delete(32);
arr.display();
}
}
网友评论