java

 Please read the following requirements carefully and then implement your own customized Array class:

provide the following features:

 Two constructors. One takes the input of the initialized capacity (int) and create the underlying array with that capacity; the other takes no input and creates an array that can hold a single element by default (that is, init capacity == 1);

 Getters and setters and basic methods we discussed during the class including: getCapacity(), getSize(), set(int index), get(int index), isEmpty();

 CRUD operations we discussed during the class including: add(int index), addLast(), addFirst(), remove(int index), removeLast(), removeFirst(), removeElement(int target), removeAll(int target);

 Supports generic types;

Mutable, that is when add element exceeding its capacity, it can resize to accommodate the change.

 Implement a (private or public) swap(int a, int b) method that swaps the two elements in the index a and b if a and b are both admissible; also a public reverse() method that reverses the order of stored elements in-place (means, no additional spaces are allocated).

 A public void sort() method sorts the stored elements in ascending order inO(nlog(n)) time. 

[hint]: Quicksort or Merge sort

Tags: No tags