To the HighArray class in the highArray.java program (Listing 2.3), add 2 of the following methods: 1. getMax() that returns the value of the highest key (value) in the array without removing it from the array, or –1 if the array is empty. 2. removeMax() that removes the item with the highest key from the array. 3. reverse() method for the HighArray class to reverse the order of elements of the array. Add some code in main() to exercise these methods. Note: you can download the HighArray class code from the blackboard. Sample output of Current HighArray class: 77 99 44 55 22 88 11 0 66 33 Can't find 35 77 44 22 88 11 66 33 Sample output of HighArray class once you do the above methods: current array items: 77 99 44 55 22 88 11 0 66 33 Can't find 35 array items after delete some values: 77 44 22 88 11 66 33 the Max is 88 the array after calling max method: 77 44 22 88 11 66 33 the array after calling remove max method: 77 44 22 11 66 33 the new max is 77 the array after calling reverse method 33 66 11 22 44 77
classHighArrayApp
{
public static void main(String[] args)
{
intmaxSize=100;// array size
HighArrayarr;// reference to array
arr=newHighArray(maxSize);// create the array
arr.insert(77);// insert 10 items
arr.insert(99);
arr.insert(44);
arr.insert(55);
arr.insert(22);
arr.insert(88);
arr.insert(11);
arr.insert(00);
arr.insert(66);
arr.insert(33);
arr.display();// display items
intsearchKey=35;// search for item
if(arr.find(searchKey))
System.out.println("Found " + searchKey);
else
System.out.println("Can’t find " + searchKey);
arr.delete(00);// delete 3 items
arr.delete(55);
arr.delete(99);
arr.display();// display items again
}// end main()
}// end class HighArrayApp
// 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?
returnfalse;// 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)
{
intj;
for(j=0;j<nElems;j++)// look for it
if( value == a[j] )
break;
if(j==nElems)// can’t find it
returnfalse;
else// found it
{
for(int k=j; k<nElems; k++) // move higher ones down
a[k]=a[k+1];
nElems--; // decrement size
returntrue;
}
} // 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("");
}
//-----------------------------------------------------------
} // end class HighArray
Trending now
This is a popular solution!
Step by step
Solved in 2 steps with 1 images