package chapter2; // 2.1 To the HighArray class in the highArray.java program (Listing 2.3), add a // method called getMax() that returns the value of the highest key in the array, // or –1 if the array is empty. Add some code in main() to exercise this method. // You can assume all the keys are positive numbers.
// highArray.java // demonstrates array class with high-level interface // to run this program: C>java HighArrayApp
class HighArray { private long[] a; // ref to array a private int nElems; // number of data items //----------------------------------------------------------- public HighArray(int max) // constructor { a = new long[max]; // create the array nElems = 0; // no items yet } //----------------------------------------------------------- public boolean find(long searchKey) { // find specified value int j; for(j=0; j<nElems; j++) // for each element, if(a[j] == searchKey) // found item? break; // exit loop before end if(j == nElems) // gone to end? return false; // yes, can't find it else return true; // no, found it } // end find() //----------------------------------------------------------- public void insert(long value) // put element into array { a[nElems] = value; // insert it nElems++; // increment size } //----------------------------------------------------------- public boolean delete(long value) { int j; for(j=0; j<nElems; j++) // look for it if( value == a[j] ) break; if(j==nElems) // can't find it return false; else // found it { for(int k=j; k<nElems; k++) // move higher ones down a[k] = a[k+1]; nElems--; // decrement size return true; } } // end delete() //----------------------------------------------------------- public void display() // displays array contents { for(int j=0; j<nElems; j++) // for each element, System.out.print(a[j] + " "); // display it System.out.println(""); } //-----------------------------------------------------------
// start here public long getMax() { if(nElems == 0) { return -1; //数组为空 }
long max = a[0]; for(int j = 1; j < nElems; j++) { if(max < a[j]) { max = a[j]; } } return max; } // end here
} // end class HighArray
class HighArrayApp { public static void main(String[] args) { int maxSize = 100; // array size HighArray arr; // reference to array arr = new HighArray(maxSize); // create the array
package chapter2; // Modify the method in Programming Project 2.1 so that the item with the // highest key is not only returned by the method, but also removed from the // array. Call the method removeMax().
// highArray.java // demonstrates array class with high-level interface // to run this program: C>java HighArrayApp
class HighArray { private long[] a; // ref to array a private int nElems; // number of data items //----------------------------------------------------------- public HighArray(int max) // constructor { a = new long[max]; // create the array nElems = 0; // no items yet } //----------------------------------------------------------- public boolean find(long searchKey) { // find specified value int j; for(j=0; j<nElems; j++) // for each element, if(a[j] == searchKey) // found item? break; // exit loop before end if(j == nElems) // gone to end? return false; // yes, can't find it else return true; // no, found it } // end find() //----------------------------------------------------------- public void insert(long value) // put element into array { a[nElems] = value; // insert it nElems++; // increment size } //----------------------------------------------------------- public boolean delete(long value) { int j; for(j=0; j<nElems; j++) // look for it if( value == a[j] ) break; if(j==nElems) // can't find it return false; else // found it { for(int k=j; k<nElems; k++) // move higher ones down a[k] = a[k+1]; nElems--; // decrement size return true; } } // end delete() //----------------------------------------------------------- public void display() // displays array contents { for(int j=0; j<nElems; j++) // for each element, System.out.print(a[j] + " "); // display it System.out.println(""); } //-----------------------------------------------------------
// start here public long getMax() { if(nElems == 0) { return -1; //数组为空 }
long max = a[0]; for(int j = 1; j < nElems; j++) { if(max < a[j]) { max = a[j]; } } return max; }
class HighArrayApp { public static void main(String[] args) { int maxSize = 100; // array size HighArray arr; // reference to array arr = new HighArray(maxSize); // create the array
// start here System.out.println(arr.getMax()); arr.removeMax(); System.out.println(arr.getMax()); // end here } // end main() } // end class HighArrayApp
[code="java"]package chapter2;// 2.1 To the HighArray class in the highArray.java program (Listing 2.3), add a// method called getMax() that returns the value of the highest key in the array,/...