SlideShare a Scribd company logo
STAGE 2: The Methods (65 points) Implement all the methods that are marked as Left as
Exercise. The Driver program only works when you have done all the methods. I have added the
template of all the methods with a placeholder value as return types of the methods. For example,
return 0 if method returns an int value.
List of the methods left as exercise are as follows: /** Create a list from an array of objects */
@SuppressWarnings("unchecked") public MyLinkedList(E[] objects) /** Add a new element at the
specified index in this list in ascending order */ public void addInOrder(E e) /** Check to see if this
list contains element e */ public boolean contains(E e) /** Remove all the occurrences of the
element e * from this list. Return true if the element is * removed. */ public boolean removeAll(E e)
/** Remove the first occurrence of the element e * from this list. Return true if the element is *
removed. */ public boolean remove(E e) /** Return the element at the specified index */ public E
get(int index) /** Return the index of the head matching element in * this list. Return -1 if no match.
*/ public int indexOf(Object e) /** Return the index of the last matching element in * this list. Return
-1 if no match. */ public int lastIndexOf(E e) /** Replace the element at the specified position * in
this list with the specified element. */ public E set(int index, E e) /** Print this list using recursion */
public void printList() /** Returns an array containing all of the elements * in this collection; * the
runtime type of the returned array is that of * the specified array. */ public <E> E[] toArray(E[]
array) /** Split the original list in half. The original * list will continue to reference the * front half of
the original list and the method * returns a reference to a new list that stores the * back half of the
original list.
public class MyLinkedList<E extends Comparable<E>> {
private Node<E> head, tail;
private int size = 0; // Number of elements in the list
public MyLinkedList() {
head=tail=null;
size=0;
}
/** Return the head element in the list */
public E getFirst() {
if (size == 0) {
return null;
}
else {
return head.element;
}
}
/** Return the last element in the list */
public E getLast() {
if (size == 0) {
return null;
}
else {
return tail.element;
}
}
/** Add an element to the beginning of the list */
public void addFirst(E e) {
Node<E> newNode = new Node<>(e); // Create a new node
newNode.next = head; // link the new node with the head
head = newNode; // head points to the new node
size++; // Increase list size
if (tail == null) // the new node is the only node in list
tail = head;
}
/** Add an element to the end of the list */
public void addLast(E e) {
Node<E> newNode = new Node<>(e); // Create a new for element e
if (tail == null) {
head = tail = newNode; // The new node is the only node in list
}
else {
tail.next = newNode; // Link the new with the last node
tail = newNode; // tail now points to the last node
}
size++; // Increase size
}
public void add(int index, E e) {
if (index == 0) {
addFirst(e);
}
else if (index >= size) {
addLast(e);
}
else {
Node<E> current = head;
for (int i = 1; i < index; i++) {
current = current.next;
}
Node<E> temp = current.next;
current.next = new Node<>(e);
(current.next).next = temp;
size++;
}
}
//Add e to the end of this linkedlist
public void add(E e) {
// Left as Exercise
}
/** Remove the head node and
* return the object that is contained in the removed node. */
public E removeFirst() {
if (size == 0) {
return null;
}
else {
E temp = head.element;
head = head.next;
size--;
if (head == null) {
tail = null;
}
return temp;
}
}
/** Remove the last node and
* return the object that is contained in the removed node. */
public E removeLast() {
if (size == 0) {
return null;
}
else if (size == 1) {
E temp = head.element;
head = tail = null;
size = 0;
return temp;
}
else {
Node<E> current = head;
for (int i = 0; i < size - 2; i++) {
current = current.next;
}
E temp = tail.element;
tail = current;
tail.next = null;
size--;
return temp;
}
}
/** Remove the element at the specified position in this
* list. Return the element that was removed from the list. */
public E remove(int index) {
if (index < 0 || index >= size) {
return null;
}
else if (index == 0) {
return removeFirst();
}
else if (index == size - 1) {
return removeLast();
}
else {
Node<E> previous = head;
for (int i = 1; i < index; i++) {
previous = previous.next;
}
Node<E> current = previous.next;
previous.next = current.next;
size--;
return current.element;
}
}
/** Clear the list */
public void clear() {
size = 0;
head = tail = null;
}
/** Override toString() to return elements in the list in [] separated by , */
public String toString() {
StringBuilder result = new StringBuilder("[");
Node<E> current = head;
for (int i = 0; i < size; i++) {
result.append(current.element);
current = current.next;
if (current != null) {
result.append(", "); // Separate two elements with a comma
}
else {
result.append("]"); // Insert the closing ] in the string
}
}
return result.toString();
}
/** Return true if this list contains no elements */
public boolean isEmpty() {
return size==0;
}
/** Return the number of elements in this list */
public int size() {
// Left as exercise
return 0;
}
/** Remove the first occurrence of the element e
* from this list. Return true if the element is removed. */
public boolean remove(E value)
{
// Left as Exercise
return false;
}
/** Adds a new node containing new value after the given index. */
void addAfter(int index, E value)
{
// Left as exercise
}
/** replaces the data in the node at position index with newValue,
* if such a position is in the list and returns the previous (old) value that was at that location.
* Prints an error message and returns null if index is out of range. */
public E set(int index, E e) {
// Left as an exercise
return null;
}
/** Remove all the occurrences of the element e
* from this list. Return true if the element is removed. */
public boolean removeAll(E e) {
// Left as Exercise
return true;
}
/** Return the index of the last matching element in
* this list. Return -1 if no match. */
public int lastIndex(E e) {
// Left as an exercise
return -1;
}
/** returns a new copy of the LinkedList. It creates a copy of MyLinkedList.java.
* It creates a new instance of the class of the current object and initializes all its
* fields with exactly the contents of the corresponding fields of this object. */
public MyLinkedList<E> clone(){
// Left as exercise
return null;
}
/** Check to see if this list contains element e */
public boolean contains(E e) {
// Left as Exercise
return false;
}
/** Add a new element at the specified index in this list in ascending order */
public void addInOrder(E value) {
// Left as Exercise
}
/** Overrides the equals method (found in the Object class). */
public boolean equals(Object o) {
// Left as exercise
return true;
}
/** Split the original list in half. The original
* list will continue to reference the
* front half of the original list and the method
* returns a reference to a new list that stores the
* back half of the original list. If the number of
* elements is odd, the extra element should remain
* with the front half of the list. */
public MyLinkedList<E> split(){
// Left as Exercise
return null;
}
/** Print this list in reverse order */
public void printList() {
// Left as Exercise
}
private static class Node<E> {
E element;
Node<E> next;
public Node(E element) {
this.element = element;
}
}
}

More Related Content

Similar to STAGE 2 The Methods 65 points Implement all the methods t.pdf (20)

PDF
import java.util.Iterator; import java.util.NoSuchElementException; .pdf
deepakangel
 
PDF
Problem- Describe an algorithm for concatenating two singly linked lis.pdf
kingsandqueens3
 
DOCX
Note- Can someone help me with the private E get(int index- int curren (1).docx
VictorzH8Bondx
 
PDF
please read below it will tell you what we are using L.pdf
ankit11134
 
PDF
Note- Can someone help me with the Public boolean add(E value) method.pdf
Stewart29UReesa
 
PDF
we using java dynamicArray package modellinearpub imp.pdf
adityagupta3310
 
PDF
Note- Can someone help me with the public boolean isEmpty()- public bo.pdf
Augstore
 
PDF
please read the steps below and it will tell you what we usi.pdf
aggarwalopticalsco
 
PDF
Implementation The starter code includes List.java. You should not c.pdf
maheshkumar12354
 
PDF
Please do parts labeled TODO LinkedList.java Replace.pdf
aioils
 
PDF
package linkedLists- import java-util-Iterator- --- A class representi.pdf
arcellzone
 
PDF
Class DiagramIn the Assignment #10, you are given three files Ass.pdf
xlynettalampleyxc
 
PDF
package com.java2novice.ds.linkedlist;import java.util.NoSuchEleme.pdf
aptind
 
PDF
Please help me to make a programming project I have to sue them today- (1).pdf
seoagam1
 
DOCX
The MyLinkedList class used in Listing 24.6 is a one-way directional .docx
Komlin1
 
PDF
package ADTs public interface CollectionADTltTgt .pdf
syedabdul78662
 
PDF
Implement the interface you wrote for Lab B (EntryWayListInterface)..pdf
rishabjain5053
 
DOCX
Lecture 18Dynamic Data Structures and Generics (II).docx
SHIVA101531
 
PDF
Implement the additional 5 methods as indicated in the LinkedList fi.pdf
footstatus
 
DOCX
Java Foundations StackADT-java --- - Defines the interface to a stack.docx
VictorXUQGloverl
 
import java.util.Iterator; import java.util.NoSuchElementException; .pdf
deepakangel
 
Problem- Describe an algorithm for concatenating two singly linked lis.pdf
kingsandqueens3
 
Note- Can someone help me with the private E get(int index- int curren (1).docx
VictorzH8Bondx
 
please read below it will tell you what we are using L.pdf
ankit11134
 
Note- Can someone help me with the Public boolean add(E value) method.pdf
Stewart29UReesa
 
we using java dynamicArray package modellinearpub imp.pdf
adityagupta3310
 
Note- Can someone help me with the public boolean isEmpty()- public bo.pdf
Augstore
 
please read the steps below and it will tell you what we usi.pdf
aggarwalopticalsco
 
Implementation The starter code includes List.java. You should not c.pdf
maheshkumar12354
 
Please do parts labeled TODO LinkedList.java Replace.pdf
aioils
 
package linkedLists- import java-util-Iterator- --- A class representi.pdf
arcellzone
 
Class DiagramIn the Assignment #10, you are given three files Ass.pdf
xlynettalampleyxc
 
package com.java2novice.ds.linkedlist;import java.util.NoSuchEleme.pdf
aptind
 
Please help me to make a programming project I have to sue them today- (1).pdf
seoagam1
 
The MyLinkedList class used in Listing 24.6 is a one-way directional .docx
Komlin1
 
package ADTs public interface CollectionADTltTgt .pdf
syedabdul78662
 
Implement the interface you wrote for Lab B (EntryWayListInterface)..pdf
rishabjain5053
 
Lecture 18Dynamic Data Structures and Generics (II).docx
SHIVA101531
 
Implement the additional 5 methods as indicated in the LinkedList fi.pdf
footstatus
 
Java Foundations StackADT-java --- - Defines the interface to a stack.docx
VictorXUQGloverl
 

More from babitasingh698417 (20)

PDF
Sukis utility function is Where C1 is consumpt.pdf
babitasingh698417
 
PDF
Subject Organizational Behaviour This is a long essay quest.pdf
babitasingh698417
 
PDF
successfully converting a 1point conversion is 10 The pro.pdf
babitasingh698417
 
PDF
Subtopic 3 Demonstrate awareness of own cultural bias Stude.pdf
babitasingh698417
 
PDF
Subject Marketing Management Questions 1 Explain Four st.pdf
babitasingh698417
 
PDF
Subject Data Structures and Algorithm Analysis for Python.pdf
babitasingh698417
 
PDF
Sub Alternative research paradigm Do not copy from chatgp.pdf
babitasingh698417
 
PDF
Study the following scenario and discuss and determine the i.pdf
babitasingh698417
 
PDF
Su grupo de laboratorio debe identificar la clase de un cnid.pdf
babitasingh698417
 
PDF
Study figure 65 after reading the accompanying text Restat.pdf
babitasingh698417
 
PDF
Stun verilerinin satrlarda ve satr verilerinin stunlarda g.pdf
babitasingh698417
 
PDF
Study the following scenario and discuss and determine the a.pdf
babitasingh698417
 
PDF
Students from 2011 showed that about 25 of all Vancouver re.pdf
babitasingh698417
 
PDF
Study all the materials in Chapter 2 of an introduction to p.pdf
babitasingh698417
 
PDF
Students at a major university in Southern California are co.pdf
babitasingh698417
 
PDF
Students at a local university have the option of taking fre.pdf
babitasingh698417
 
PDF
Student Learning Objectives 1 Identify the regions of the d.pdf
babitasingh698417
 
PDF
Student debt Financial aid staff at a local university are .pdf
babitasingh698417
 
PDF
struct S double x int ip int a12 Assuming.pdf
babitasingh698417
 
PDF
Stripetastic grasshoppers are black with stripes A red stri.pdf
babitasingh698417
 
Sukis utility function is Where C1 is consumpt.pdf
babitasingh698417
 
Subject Organizational Behaviour This is a long essay quest.pdf
babitasingh698417
 
successfully converting a 1point conversion is 10 The pro.pdf
babitasingh698417
 
Subtopic 3 Demonstrate awareness of own cultural bias Stude.pdf
babitasingh698417
 
Subject Marketing Management Questions 1 Explain Four st.pdf
babitasingh698417
 
Subject Data Structures and Algorithm Analysis for Python.pdf
babitasingh698417
 
Sub Alternative research paradigm Do not copy from chatgp.pdf
babitasingh698417
 
Study the following scenario and discuss and determine the i.pdf
babitasingh698417
 
Su grupo de laboratorio debe identificar la clase de un cnid.pdf
babitasingh698417
 
Study figure 65 after reading the accompanying text Restat.pdf
babitasingh698417
 
Stun verilerinin satrlarda ve satr verilerinin stunlarda g.pdf
babitasingh698417
 
Study the following scenario and discuss and determine the a.pdf
babitasingh698417
 
Students from 2011 showed that about 25 of all Vancouver re.pdf
babitasingh698417
 
Study all the materials in Chapter 2 of an introduction to p.pdf
babitasingh698417
 
Students at a major university in Southern California are co.pdf
babitasingh698417
 
Students at a local university have the option of taking fre.pdf
babitasingh698417
 
Student Learning Objectives 1 Identify the regions of the d.pdf
babitasingh698417
 
Student debt Financial aid staff at a local university are .pdf
babitasingh698417
 
struct S double x int ip int a12 Assuming.pdf
babitasingh698417
 
Stripetastic grasshoppers are black with stripes A red stri.pdf
babitasingh698417
 

Recently uploaded (20)

PDF
The Different Types of Non-Experimental Research
Thelma Villaflores
 
PPTX
Growth and development and milestones, factors
BHUVANESHWARI BADIGER
 
PDF
Stokey: A Jewish Village by Rachel Kolsky
History of Stoke Newington
 
PPTX
MENINGITIS: NURSING MANAGEMENT, BACTERIAL MENINGITIS, VIRAL MENINGITIS.pptx
PRADEEP ABOTHU
 
PPTX
PATIENT ASSIGNMENTS AND NURSING CARE RESPONSIBILITIES.pptx
PRADEEP ABOTHU
 
PDF
Isharyanti-2025-Cross Language Communication in Indonesian Language
Neny Isharyanti
 
PPTX
2025 Winter SWAYAM NPTEL & A Student.pptx
Utsav Yagnik
 
PPTX
How to Set Maximum Difference Odoo 18 POS
Celine George
 
PPTX
grade 5 lesson matatag ENGLISH 5_Q1_PPT_WEEK4.pptx
SireQuinn
 
PPTX
Neurodivergent Friendly Schools - Slides from training session
Pooky Knightsmith
 
PPTX
How to Manage Large Scrollbar in Odoo 18 POS
Celine George
 
PDF
Women's Health: Essential Tips for Every Stage.pdf
Iftikhar Ahmed
 
PDF
0725.WHITEPAPER-UNIQUEWAYSOFPROTOTYPINGANDUXNOW.pdf
Thomas GIRARD, MA, CDP
 
PDF
LAW OF CONTRACT ( 5 YEAR LLB & UNITARY LLB)- MODULE-3 - LEARN THROUGH PICTURE
APARNA T SHAIL KUMAR
 
PPTX
A PPT on Alfred Lord Tennyson's Ulysses.
Beena E S
 
PDF
The dynastic history of the Chahmana.pdf
PrachiSontakke5
 
PPTX
STAFF DEVELOPMENT AND WELFARE: MANAGEMENT
PRADEEP ABOTHU
 
PPTX
How to Set Up Tags in Odoo 18 - Odoo Slides
Celine George
 
PDF
community health nursing question paper 2.pdf
Prince kumar
 
PDF
Lesson 2 - WATER,pH, BUFFERS, AND ACID-BASE.pdf
marvinnbustamante1
 
The Different Types of Non-Experimental Research
Thelma Villaflores
 
Growth and development and milestones, factors
BHUVANESHWARI BADIGER
 
Stokey: A Jewish Village by Rachel Kolsky
History of Stoke Newington
 
MENINGITIS: NURSING MANAGEMENT, BACTERIAL MENINGITIS, VIRAL MENINGITIS.pptx
PRADEEP ABOTHU
 
PATIENT ASSIGNMENTS AND NURSING CARE RESPONSIBILITIES.pptx
PRADEEP ABOTHU
 
Isharyanti-2025-Cross Language Communication in Indonesian Language
Neny Isharyanti
 
2025 Winter SWAYAM NPTEL & A Student.pptx
Utsav Yagnik
 
How to Set Maximum Difference Odoo 18 POS
Celine George
 
grade 5 lesson matatag ENGLISH 5_Q1_PPT_WEEK4.pptx
SireQuinn
 
Neurodivergent Friendly Schools - Slides from training session
Pooky Knightsmith
 
How to Manage Large Scrollbar in Odoo 18 POS
Celine George
 
Women's Health: Essential Tips for Every Stage.pdf
Iftikhar Ahmed
 
0725.WHITEPAPER-UNIQUEWAYSOFPROTOTYPINGANDUXNOW.pdf
Thomas GIRARD, MA, CDP
 
LAW OF CONTRACT ( 5 YEAR LLB & UNITARY LLB)- MODULE-3 - LEARN THROUGH PICTURE
APARNA T SHAIL KUMAR
 
A PPT on Alfred Lord Tennyson's Ulysses.
Beena E S
 
The dynastic history of the Chahmana.pdf
PrachiSontakke5
 
STAFF DEVELOPMENT AND WELFARE: MANAGEMENT
PRADEEP ABOTHU
 
How to Set Up Tags in Odoo 18 - Odoo Slides
Celine George
 
community health nursing question paper 2.pdf
Prince kumar
 
Lesson 2 - WATER,pH, BUFFERS, AND ACID-BASE.pdf
marvinnbustamante1
 

STAGE 2 The Methods 65 points Implement all the methods t.pdf

  • 1. STAGE 2: The Methods (65 points) Implement all the methods that are marked as Left as Exercise. The Driver program only works when you have done all the methods. I have added the template of all the methods with a placeholder value as return types of the methods. For example, return 0 if method returns an int value. List of the methods left as exercise are as follows: /** Create a list from an array of objects */ @SuppressWarnings("unchecked") public MyLinkedList(E[] objects) /** Add a new element at the specified index in this list in ascending order */ public void addInOrder(E e) /** Check to see if this list contains element e */ public boolean contains(E e) /** Remove all the occurrences of the element e * from this list. Return true if the element is * removed. */ public boolean removeAll(E e) /** Remove the first occurrence of the element e * from this list. Return true if the element is * removed. */ public boolean remove(E e) /** Return the element at the specified index */ public E get(int index) /** Return the index of the head matching element in * this list. Return -1 if no match. */ public int indexOf(Object e) /** Return the index of the last matching element in * this list. Return -1 if no match. */ public int lastIndexOf(E e) /** Replace the element at the specified position * in this list with the specified element. */ public E set(int index, E e) /** Print this list using recursion */ public void printList() /** Returns an array containing all of the elements * in this collection; * the runtime type of the returned array is that of * the specified array. */ public <E> E[] toArray(E[] array) /** Split the original list in half. The original * list will continue to reference the * front half of the original list and the method * returns a reference to a new list that stores the * back half of the original list. public class MyLinkedList<E extends Comparable<E>> { private Node<E> head, tail; private int size = 0; // Number of elements in the list public MyLinkedList() { head=tail=null; size=0; } /** Return the head element in the list */ public E getFirst() { if (size == 0) { return null; } else { return head.element; } } /** Return the last element in the list */ public E getLast() { if (size == 0) { return null;
  • 2. } else { return tail.element; } } /** Add an element to the beginning of the list */ public void addFirst(E e) { Node<E> newNode = new Node<>(e); // Create a new node newNode.next = head; // link the new node with the head head = newNode; // head points to the new node size++; // Increase list size if (tail == null) // the new node is the only node in list tail = head; } /** Add an element to the end of the list */ public void addLast(E e) { Node<E> newNode = new Node<>(e); // Create a new for element e if (tail == null) { head = tail = newNode; // The new node is the only node in list } else { tail.next = newNode; // Link the new with the last node tail = newNode; // tail now points to the last node } size++; // Increase size } public void add(int index, E e) { if (index == 0) { addFirst(e); } else if (index >= size) { addLast(e); } else {
  • 3. Node<E> current = head; for (int i = 1; i < index; i++) { current = current.next; } Node<E> temp = current.next; current.next = new Node<>(e); (current.next).next = temp; size++; } } //Add e to the end of this linkedlist public void add(E e) { // Left as Exercise } /** Remove the head node and * return the object that is contained in the removed node. */ public E removeFirst() { if (size == 0) { return null; } else { E temp = head.element; head = head.next; size--; if (head == null) { tail = null; } return temp; } } /** Remove the last node and * return the object that is contained in the removed node. */ public E removeLast() { if (size == 0) { return null; } else if (size == 1) { E temp = head.element; head = tail = null;
  • 4. size = 0; return temp; } else { Node<E> current = head; for (int i = 0; i < size - 2; i++) { current = current.next; } E temp = tail.element; tail = current; tail.next = null; size--; return temp; } } /** Remove the element at the specified position in this * list. Return the element that was removed from the list. */ public E remove(int index) { if (index < 0 || index >= size) { return null; } else if (index == 0) { return removeFirst(); } else if (index == size - 1) { return removeLast(); } else { Node<E> previous = head; for (int i = 1; i < index; i++) { previous = previous.next; } Node<E> current = previous.next; previous.next = current.next; size--; return current.element; } }
  • 5. /** Clear the list */ public void clear() { size = 0; head = tail = null; } /** Override toString() to return elements in the list in [] separated by , */ public String toString() { StringBuilder result = new StringBuilder("["); Node<E> current = head; for (int i = 0; i < size; i++) { result.append(current.element); current = current.next; if (current != null) { result.append(", "); // Separate two elements with a comma } else { result.append("]"); // Insert the closing ] in the string } } return result.toString(); } /** Return true if this list contains no elements */ public boolean isEmpty() { return size==0; } /** Return the number of elements in this list */ public int size() { // Left as exercise return 0; } /** Remove the first occurrence of the element e * from this list. Return true if the element is removed. */ public boolean remove(E value) { // Left as Exercise return false; }
  • 6. /** Adds a new node containing new value after the given index. */ void addAfter(int index, E value) { // Left as exercise } /** replaces the data in the node at position index with newValue, * if such a position is in the list and returns the previous (old) value that was at that location. * Prints an error message and returns null if index is out of range. */ public E set(int index, E e) { // Left as an exercise return null; } /** Remove all the occurrences of the element e * from this list. Return true if the element is removed. */ public boolean removeAll(E e) { // Left as Exercise return true; } /** Return the index of the last matching element in * this list. Return -1 if no match. */ public int lastIndex(E e) { // Left as an exercise return -1; } /** returns a new copy of the LinkedList. It creates a copy of MyLinkedList.java. * It creates a new instance of the class of the current object and initializes all its * fields with exactly the contents of the corresponding fields of this object. */ public MyLinkedList<E> clone(){ // Left as exercise return null; } /** Check to see if this list contains element e */ public boolean contains(E e) { // Left as Exercise return false; }
  • 7. /** Add a new element at the specified index in this list in ascending order */ public void addInOrder(E value) { // Left as Exercise } /** Overrides the equals method (found in the Object class). */ public boolean equals(Object o) { // Left as exercise return true; } /** Split the original list in half. The original * list will continue to reference the * front half of the original list and the method * returns a reference to a new list that stores the * back half of the original list. If the number of * elements is odd, the extra element should remain * with the front half of the list. */ public MyLinkedList<E> split(){ // Left as Exercise return null; } /** Print this list in reverse order */ public void printList() { // Left as Exercise } private static class Node<E> { E element; Node<E> next; public Node(E element) { this.element = element; } } }