package zmx.javadata;
import org.omg.CORBA.PRIVATE_MEMBER;
public class TestArray {
private int elements;
private long[] arr;
public TestArray(){
arr=new long[50];
}
public TestArray(int maxsize){
arr=new long[maxsize];
}
/**
* 添加数据
*/
// public void insert(long value){
// arr[elements]= value;
// elements++;
// }
/**
* 按顺序的添加
*/
public void insert (long 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 void display(){
System.out.print("[");
for(int i=0;i<elements;i++){
System.out.print(arr[i]+" ");
}
System.out.println("]");
}
/**
* 查找数据
* @return
*/
public int search(long value){
int i;
for(i=0;i<elements;i++){
if(value==arr[i]){
break;
}
}
if(i==elements){
return -1;
}
else
return i;
}
public long get(int index){
if(index>=elements||index<0){
System.out.println("您输入的数据不对");
}
return arr[index];
}
/**
*二分法查找 必须是有序的数组
*/
public int binarySearch(long value){
int middle=0;
int low=0;
int pow=elements;
while(true){
middle=(pow+low)/2;
if(arr[middle]==value){
return middle;
}else if(low>pow){
return -1;
}else{
if(arr[middle]>value){
pow=middle-1;
}
else{
low=middle+1;
}
}
}
}
/**
* 删除数据
*/
public void delete(int index){
if(index>=elements||index<0){
System.out.println("输入的数据不对");
}
else{
for(int i=index;i<elements;i++){
arr[index]=arr[index+1];
}
elements--;
}
}
/**
* 更新数据
*/
public void change(int index,int newvalue){
if(index>=elements||index<0){
System.out.println("输入的数据不对");
}
else{
arr[index]=newvalue;
}
}
}
java数据结构 数组的增删改查及优化
猜你喜欢
转载自blog.csdn.net/qq_41648092/article/details/88758196
今日推荐
周排行