Question: JAVA using what code I have finished here please create a new method called removeDuplicates() this should remove the duplicates in place such that each

JAVA using what code I have finished here please create a new method called removeDuplicates() this should remove the duplicates in place such that each element appears only once after sorted in lowest to the highest order. public int removeDuplicates

I want in this method to return the new length of the array after duplicates (if any are removed) or else return 0 which means that no duplicates exist; public

then I need to add code in main() to test the above method. I want two test cases one returns the new length of the array after duplicates are removed, then recall this method and returns 0

Example: nums = [1,1,2] i need the method function should return length = 2, with the first two elements of nums being 1 and 3

public class OrderedApp { public static void main(String[] args) { int maxSize = 100; // array size OrdArray arr; // reference to array arr = new OrdArray(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);

int searchKey = 55; // search for item if( arr.find(searchKey) != arr.size() ) System.out.println("Found " + searchKey); else System.out.println("Can't find " + searchKey);

arr.display(); // display items

arr.delete(00); // delete 3 items arr.delete(55); arr.delete(99);

arr.display(); // display items again } // end main() } // end class OrderedApp

******************************** Class

class OrdArray { private long[] a; // ref to array a private int nElems; // number of data items //----------------------------------------------------------- public OrdArray(int max) // constructor { a = new long[max]; // create array nElems = 0; } //----------------------------------------------------------- public int size() { return nElems; } //----------------------------------------------------------- public int find(long searchKey) { int lowerBound = 0; int upperBound = nElems-1; int curIn;

while(true) { curIn = (lowerBound + upperBound ) / 2; if(a[curIn]==searchKey) return curIn; // found it else if(lowerBound > upperBound) return nElems; // can't find it else // divide range { if(a[curIn] < searchKey) lowerBound = curIn + 1; // it's in upper half else upperBound = curIn - 1; // it's in lower half } // end else divide range } // end while } // end find() //----------------------------------------------------------- public void insert(long value) // put element into array { int j; for(j=0; j value) // (linear search) break; for(int k=nElems; k>j; k--) // move bigger ones up a[k] = a[k-1]; a[j] = value; // insert it nElems++; // increment size } // end insert() //----------------------------------------------------------- public boolean delete(long value) { int j = find(value); if(j==nElems) // can't find it return false; else // found it { for(int k=j; k

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!