首先定义一个数组类class MyArray{private int elements/*数组元素个数,默认为0*/ private int num[]/*定义一个int型数组*/
然后再对数组进行初始化public MyArray(){num=new int[3];}/*空参构造时默认是长度为3的数组*/ public MyArray(int maxsize){num=new int[maxsize];}/*有参构造时参数为数组长度*/
接下来是对数组的插入
public void insert(int a){ num[elements]=a; elements++;/*数组个数加1*/}
然后是对数组的删除
public void delete(int index){ if(index<0||index>elements){ throw new ArrayIndexOutOfBoundsException();/*抛出数组越界异常*/} for(int i=index;i<elements-1;i++){ num[index]=num[index+1];} elements--;}
接着是查找数组元素
public void find(int b){
private int start=0;
private int end=elements;
private int middle=0;
while(true){/*二分查找*/
middle=(start+end)/2;
if(b>num[middle]){
start=middle+1;}
else if(b<num[middle){
end=middel-1;}
else if(b==num[middle]){
System.out.println(middle);/*输出数组下标*/
/*跳出循环*/
break;
}else if(start>end){
System.out.println("找不到元素");
break;}
}
}
然后是对数组的排序(这里用冒泡排序)
public void sort(){ for(int i=0;i<elements-1;i++){ for(int j=1;j<elements;j++){ if(num[i]>num[j]){ int temp=num[i]; num[i]=num[j]; num[j]=temp;} } } }
最后是输出数组
public void out(){
System.out.print("[");
for(int i=0;i<elements+1;i++){
System.out.println(num[i]+" ");}
System.out.print("]");
}