public class Array { private int[]Array; private int ArraySize; private int ArrayLength; private void GetArray(){ //私有函数,动态分配数组存储空间 Array = new int[ArraySize]; if(Array == null) System.out.println("Memory Allocation Error"); } public Array(int size){ //构造函数,建立一个最大元素个数为size的数组 if(size <= 0) System.out.println("Invalid Array Size"); else{ ArraySize = size; ArrayLength = 0; GetArray(); } } //求数组元素个数 public int GetLength(){ return ArrayLength; } public int GetNode(int i){ //取数组中第i个结点的值,若存在,则返回该结点的值; //否则返回null; return(i<0||i>ArrayLength)?null:Array[i]; } public int Find(int x){ //查找值为x的结点,若找到,则返回结点序号,否则返回-1; for(int i=0; iArrayLength){ System.out.println("position error"); return false; } else { for(int j=ArrayLength-1; j>=i; j--) Array[j+1] = Array[j];//后移 Array[i] = x; //插入 ArrayLength++; //数组长度加一 return true; } } //删除第i个元素结点,成功返回true,否则返回false; public boolean Remove(int i){ if(ArrayLength == 0){ System.out.println("Array Is Empty"); return false; } else if(i<0 || i>ArrayLength-1){ System.out.println("position error"); return false; } else { for(int j=i; j