Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

Complete the code below: public class CircularSinglyLinkedList { // Do not add new instance variables or modify existing ones. private CircularSinglyLinkedListNode head; private int size;

Complete the code below:

public class CircularSinglyLinkedList {

// Do not add new instance variables or modify existing ones.

private CircularSinglyLinkedListNode head;

private int size;

// Do not add a constructor.

/**

* Adds the data to the specified index.

*

* Must be O(1) for indices 0 and size and O(n) for all other cases.

*

* @param index the index at which to add the new data

* @param data the data to add at the specified index

* @throws java.lang.IndexOutOfBoundsException if index < 0 or index > size

* @throws java.lang.IllegalArgumentException if data is null

*/

public void addAtIndex(int index, T data) {

}

/**

* Adds the data to the front of the list.

*

* Must be O(1).

*

* @param data the data to add to the front of the list

* @throws java.lang.IllegalArgumentException if data is null

*/

public void addToFront(T data) {

}

/**

* Adds the data to the back of the list.

*

* Must be O(1).

*

* @param data the data to add to the back of the list

* @throws java.lang.IllegalArgumentException if data is null

*/

public void addToBack(T data) {

}

/**

* Removes and returns the data at the specified index.

*

* Must be O(1) for index 0 and O(n) for all other cases.

*

* @param index the index of the data to remove

* @return the data formerly located at the specified index

* @throws java.lang.IndexOutOfBoundsException if index < 0 or index >= size

*/

public T removeAtIndex(int index) {

}

/**

* Removes and returns the first data of the list.

*

* Must be O(1).

*

* @return the data formerly located at the front of the list

* @throws java.util.NoSuchElementException if the list is empty

*/

public T removeFromFront() {

}

/**

* Removes and returns the last data of the list.

*

* Must be O(n).

*

* @return the data formerly located at the back of the list

* @throws java.util.NoSuchElementException if the list is empty

*/

public T removeFromBack() {

}

/**

* Returns the data at the specified index.

*

* Should be O(1) for index 0 and O(n) for all other cases.

*

* @param index the index of the data to get

* @return the data stored at the index in the list

* @throws java.lang.IndexOutOfBoundsException if index < 0 or index >= size

*/

public T get(int index) {

}

/**

* Returns whether or not the list is empty.

*

* Must be O(1).

*

* @return true if empty, false otherwise

*/

public boolean isEmpty() {

}

/**

* Clears the list.

*

* Clears all data and resets the size.

*

* Must be O(1).

*/

public void clear() {

}

/**

* Removes and returns the last copy of the given data from the list.

*

* Do not return the same data that was passed in. Return the data that

* was stored in the list.

*

* Must be O(n).

*

* @param data the data to be removed from the list

* @return the data that was removed

* @throws java.lang.IllegalArgumentException if data is null

* @throws java.util.NoSuchElementException if data is not found

*/

public T removeLastOccurrence(T data) {

}

/**

* Returns an array representation of the linked list.

*

* Must be O(n) for all cases.

*

* @return the array of length size holding all of the data (not the

* nodes) in the list in the same order

*/

public T[] toArray() {

}

/**

* Returns the head node of the list.

*

* For grading purposes only. You shouldn't need to use this method since

* you have direct access to the variable.

*

* @return the node at the head of the list

*/

public CircularSinglyLinkedListNode getHead() {

// DO NOT MODIFY!

return head;

}

/**

* Returns the size of the list.

*

* For grading purposes only. You shouldn't need to use this method since

* you have direct access to the variable.

*

* @return the size of the list

*/

public int size() {

// DO NOT MODIFY!

return size;

}

}

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image_2

Step: 3

blur-text-image_3

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

More Books

Students also viewed these Databases questions

Question

Influences on Nonverbal Communication?

Answered: 1 week ago