Question

Task 1: You will modify the add method in the LinkedBag class.Add a second parameter to...

Task 1:

You will modify the add method in the LinkedBag class.Add a second parameter to the method header that will be a boolean variable:

public boolean add(T newEntry, boolean sorted)

The modification to the add method will makeit possible toadd new entriesto the beginning of the list, as it does now, but also to add new entries in sorted order. The sorted parameter if set to false will result in the existing functionality being executed (it will add the new element to the beginning of the list), if set to true the new element will be inserted into the list such that the list isin sorted order.So for example if these are the current entries in the list:

5 -> 8 -> 10 -> 16 -> 25

And the new entry that I want to put into the list is 14, it will put it into the list between 10 and 16:

5 -> 8 -> 10 -> 14 -> 16 -> 25

Remember, this is a generic classso it needs to be able to process any kind of object, just as it does now.

Task 2:

You will need to modify the add method header in the BagInterface class alsoto include the new parameter.

Task 3:

Create a test program to thoroughly test the add method. Name this file LinkedBagTester.java. Part of this assignment is to create test cases that test all possible conditions of adding data into the list to verify that the new entry will get placed into the correct place in the list. Also, you need to test the conditions of adding elements only to the beginning of the list so that youverify that your changes did not break the existing functionality.

================Files==================

* LinkedBag.java ************************************************

public final class LinkedBag<T> implements BagInterface<T>
{
   private Node firstNode; // Reference to first node
   private int numberOfEntries;

   public LinkedBag()
   {
       firstNode = null;
numberOfEntries = 0;
   } // end default constructor

   /** Sees whether this bag is empty.
   @return True if this bag is empty, or false if not. */
   public boolean isEmpty()
   {
       return numberOfEntries == 0;
   } // end isEmpty

   /** Gets the number of entries currently in this bag.
   @return The integer number of entries currently in this bag. */
   public int getCurrentSize()
   {
       return numberOfEntries;
   } // end getCurrentSize

   /** Adds a new entry to this bag.
   @param newEntry The object to be added as a new entry
   @return True if the addition is successful, or false if not. */
   public boolean add(T newEntry, boolean sorted) // OutOfMemoryError possible
   {
// Add to beginning of chain:
       Node newNode = new Node(newEntry);
       newNode.next = firstNode; // Make new node reference rest of chain
// (firstNode is null if chain is empty)
firstNode = newNode; // New node is at beginning of chain
       numberOfEntries++;

       return true;
   } // end add

   /** Retrieves all entries that are in this bag.
   @return A newly allocated array of all the entries in this bag. */
   public T[] toArray()
   {
// The cast is safe because the new array contains null entries
@SuppressWarnings("unchecked")
T[] result = (T[])new Object[numberOfEntries]; // Unchecked cast

int index = 0;
Node currentNode = firstNode;
while ((index < numberOfEntries) && (currentNode != null))
{
result[index] = currentNode.getData();
index++;
currentNode = currentNode.getNextNode();
} // end while

       return result;
   } // end toArray

   /** Counts the number of times a given entry appears in this bag.
       @param anEntry The entry to be counted.
       @return The number of times anEntry appears in this bag. */
   public int getFrequencyOf(T anEntry)
   {
       int frequency = 0;

int counter = 0;
Node currentNode = firstNode;
while ((counter < numberOfEntries) && (currentNode != null))
{
if (anEntry.equals(currentNode.getData()))
{
frequency++;
} // end if

counter++;
currentNode = currentNode.getNextNode();
} // end while

       return frequency;
   } // end getFrequencyOf

   /** Tests whether this bag contains a given entry.
       @param anEntry The entry to locate.
       @return True if the bag contains anEntry, or false otherwise. */
   public boolean contains(T anEntry)
   {
boolean found = false;
Node currentNode = firstNode;

while (!found && (currentNode != null))
{
if (anEntry.equals(currentNode.getData()))
found = true;
else
currentNode = currentNode.getNextNode();
} // end while

return found;
} // end contains

    // Locates a given entry within this bag.
   // Returns a reference to the node containing the entry, if located,
   // or null otherwise.
   private Node getReferenceTo(T anEntry)
   {
       boolean found = false;
       Node currentNode = firstNode;

       while (!found && (currentNode != null))
       {
           if (anEntry.equals(currentNode.getData()))
               found = true;
           else
               currentNode = currentNode.getNextNode();
       } // end while

       return currentNode;
   } // end getReferenceTo

/** Removes all entries from this bag. */
   public void clear()
   {
       while (!isEmpty())
remove();
   } // end clear

   /** Removes one unspecified entry from this bag, if possible.
@return Either the removed entry, if the removal
was successful, or null. */
   public T remove()
   {
       T result = null;
if (firstNode != null)
{
result = firstNode.getData();
firstNode = firstNode.getNextNode(); // Remove first node from chain
numberOfEntries--;
} // end if

       return result;
   } // end remove

   /** Removes one occurrence of a given entry from this bag, if possible.
@param anEntry The entry to be removed.
@return True if the removal was successful, or false otherwise. */
public boolean remove(T anEntry)
   {
       boolean result = false;
Node nodeN = getReferenceTo(anEntry);

if (nodeN != null)
{
nodeN.setData(firstNode.getData()); // Replace located entry with entry in first node

firstNode = firstNode.getNextNode(); // Remove first node
numberOfEntries--;

result = true;
} // end if

       return result;
   } // end remove

   private class Node
   {
   private T data; // Entry in bag
   private Node next; // Link to next node

       private Node(T dataPortion)
       {
           this(dataPortion, null);
       } // end constructor

       private Node(T dataPortion, Node nextNode)
       {
           data = dataPortion;
           next = nextNode;
       } // end constructor

private T getData()
{
return data;
} // end getData

private void setData(T newData)
{
data = newData;
} // end setData

private Node getNextNode()
{
return next;
} // end getNextNode

private void setNextNode(Node nextNode)
{
next = nextNode;
} // end setNextNode
   } // end Node
} // end LinkedBag

* BagInterface.java ************************************************

public interface BagInterface<T>
{
   /** Gets the current number of entries in this bag.
       @return The integer number of entries currently in the bag. */
   public int getCurrentSize();

   /** Sees whether this bag is empty.
       @return True if the bag is empty, or false if not. */
   public boolean isEmpty();

   /** Adds a new entry to this bag.
   @param newEntry The object to be added as a new entry.
   @return True if the addition is successful, or false if not. */
   public boolean add(T newEntry);

   /** Removes one unspecified entry from this bag, if possible.
@return Either the removed entry, if the removal.
was successful, or null. */
   public T remove();

   /** Removes one occurrence of a given entry from this bag.
@param anEntry The entry to be removed.
@return True if the removal was successful, or false if not. */
public boolean remove(T anEntry);

   /** Removes all entries from this bag. */
   public void clear();

   /** Counts the number of times a given entry appears in this bag.
       @param anEntry The entry to be counted.
       @return The number of times anEntry appears in the bag. */
   public int getFrequencyOf(T anEntry);

   /** Tests whether this bag contains a given entry.
       @param anEntry The entry to locate.
       @return True if the bag contains anEntry, or false if not. */
   public boolean contains(T anEntry);

   /** Retrieves all entries that are in this bag.
       @return A newly allocated array of all the entries in the bag.
Note: If the bag is empty, the returned array is empty. */
   public T[] toArray();
//   public <T> T[] toArray(); // Alternate
//   public Object[] toArray(); // Alternate

/** Creates a new bag that combines the contents of this bag
and anotherBag.
@param anotherBag The bag that is to be added.
@return A combined bag. */
//   public BagInterface<T> union(BagInterface<T> anotherBag);

/** Creates a new bag that contains those objects that occur
in both this bag and anotherBag.
@param anotherBag The bag that is to be compared.
@return A combined bag. */
//   public BagInterface<T> intersection(BagInterface<T> anotherBag);

/** Creates a new bag of objects that would be left in this bag
after removing those that also occur in anotherBag.
@param anotherBag The bag that is to be removed.
@return A combined bag. */
//   public BagInterface<T> difference(BagInterface<T> anotherBag);
} // end BagInterface

* LinkedBagDemo.java ************************************************

public class LinkedBagDemo
{
   public static void main(String[] args)
   {
// Tests on a bag that is empty
System.out.println("Creating an empty bag.");
BagInterface<String> aBag = new LinkedBag<>();
displayBag(aBag);
testIsEmpty(aBag, true);
String[] testStrings1 = {"", "B"};
testFrequency(aBag, testStrings1);
testContains(aBag, testStrings1);
testRemove(aBag, testStrings1);

// Adding strings
String[] contentsOfBag = {"A", "D", "B", "A", "C", "A", "D"};
       testAdd(aBag, contentsOfBag);

// Tests on a bag that is not empty
testIsEmpty(aBag, false);
String[] testStrings2 = {"A", "B", "C", "D", "Z"};
testFrequency(aBag, testStrings2);
testContains(aBag, testStrings2);

// Removing strings
       String[] testStrings3 = {"", "B", "A", "C", "Z"};
testRemove(aBag, testStrings3);

       System.out.println("\nClearing the bag:");
       aBag.clear();
testIsEmpty(aBag, true);
       displayBag(aBag);
   } // end main

// Tests the method add.
   private static void testAdd(BagInterface<String> aBag, String[] content)
   {
       System.out.print("Adding to the bag: ");
       for (int index = 0; index < content.length; index++)
       {
           aBag.add(content[index]);
System.out.print(content[index] + " ");
       } // end for
System.out.println();

       displayBag(aBag);
   } // end testAdd

// Tests the two remove methods.
   private static void testRemove(BagInterface<String> aBag, String[] tests)
   {
for (int index = 0; index < tests.length; index++)
{
String aString = tests[index];
if (aString.equals("") || (aString == null))
{
// test remove()
System.out.println("\nRemoving a string from the bag:");
String removedString = aBag.remove();
System.out.println("remove() returns " + removedString);
}
else
{
// test remove(aString)
System.out.println("\nRemoving \"" + aString + "\" from the bag:");
boolean result = aBag.remove(aString);
System.out.println("remove(\"" + aString + "\") returns " + result);
} // end if

displayBag(aBag);
} // end for
   } // end testRemove

// Tests the method isEmpty.
// correctResult indicates what isEmpty should return.
   private static void testIsEmpty(BagInterface<String> aBag, boolean correctResult)
   {
System.out.print("Testing isEmpty with ");
if (correctResult)
System.out.println("an empty bag:");
else
System.out.println("a bag that is not empty:");

System.out.print("isEmpty finds the bag ");
if (correctResult && aBag.isEmpty())
           System.out.println("empty: OK.");
       else if (correctResult)
           System.out.println("not empty, but it is empty: ERROR.");
       else if (!correctResult && aBag.isEmpty())
           System.out.println("empty, but it is not empty: ERROR.");
       else
           System.out.println("not empty: OK.");
       System.out.println();
   } // end testIsEmpty

// Tests the method getFrequencyOf.
   private static void testFrequency(BagInterface<String> aBag, String[] tests)
   {
        System.out.println("\nTesting the method getFrequencyOf:");
for (int index = 0; index < tests.length; index++)
System.out.println("In this bag, the count of " + tests[index] +
" is " + aBag.getFrequencyOf(tests[index]));
} // end testFrequency

// Tests the method contains.
   private static void testContains(BagInterface<String> aBag, String[] tests)
   {
        System.out.println("\nTesting the method contains:");
for (int index = 0; index < tests.length; index++)
System.out.println("Does this bag contain " + tests[index] +
"? " + aBag.contains(tests[index]));
} // end testContains

// Tests the method toArray while displaying the bag.
   private static void displayBag(BagInterface<String> aBag)
   {
       System.out.println("The bag contains " + aBag.getCurrentSize() +
       " string(s), as follows:");
       Object[] bagArray = aBag.toArray();
       for (int index = 0; index < bagArray.length; index++)
       {
           System.out.print(bagArray[index] + " ");
       } // end for

       System.out.println();
   } // end displayBag
} // end LinkedBagDemo

Homework Answers

Answer #1

public final class LinkedBag<T> implements BagInterface<T>

{ private Node firstNode; // Reference to first node

private int numberOfEntries;
public LinkedBag() { firstNode = null; numberOfEntries = 0; } // end default constructor
/** Sees whether this bag is empty. @return True if this bag is empty, or false if not. */

public boolean isEmpty()

{ return numberOfEntries == 0; } // end isEmpty
/** Gets the number of entries currently in this bag. @return The integer number of entries currently in this bag. */ public int getCurrentSize()

{ return numberOfEntries; } // end getCurrentSize
/** Adds a new entry to this bag. @param newEntry The object to be added as a new entry @return True if the addition is successful, or false if not. */
public boolean add(T newEntry)     // OutOfMemoryError possible
   {
// Add to beginning of chain:
       Node newNode = new Node(newEntry);
       newNode.next = firstNode; // Make new node reference rest of chain
// (firstNode is null if chain is empty)
firstNode = newNode; // New node is at beginning of chain
       numberOfEntries++;
  
}
void insertAfter(struct node* prev_node, int new_data)
{
if (prev_node == NULL)
{
printf("the given previous node cannot be NULL");   
return;
}
  
/*
struct node* new_node =(struct node*) malloc(sizeof(struct node));
new_node->data = new_data;
new_node->next = prev_
prev_node->next = new_node;
}
   } // end add
/** Retrieves all entries that are in this bag. @return A newly allocated array of all the entries in this bag. */ public T[] toArray() { // The cast is safe because the new array contains null entries @SuppressWarnings("unchecked") T[] result = (T[])new Object[numberOfEntries]; // Unchecked cast
int index = 0; Node currentNode = firstNode; while ((index < numberOfEntries) && (currentNode != null)) { result[index] = currentNode.getData(); index++; currentNode = currentNode.getNextNode(); } // end while
return result; } // end toArray
/** Counts the number of times a given entry appears in this bag. @param anEntry The entry to be counted. @return The number of times anEntry appears in this bag. */ public int getFrequencyOf(T anEntry) { int frequency = 0;
int counter = 0; Node currentNode = firstNode; while ((counter < numberOfEntries) && (currentNode != null)) { if (anEntry.equals(currentNode.getData())) { frequency++; } // end if
counter++; currentNode = currentNode.getNextNode(); } // end while
return frequency; } // end getFrequencyOf
/** Tests whether this bag contains a given entry. @param anEntry The entry to locate. @return True if the bag contains anEntry, or false otherwise. */ public boolean contains(T anEntry) { boolean found = false; Node currentNode = firstNode;
while (!found && (currentNode != null)) { if (anEntry.equals(currentNode.getData())) found = true; else currentNode = currentNode.getNextNode(); } // end while
return found; } // end contains
// Locates a given entry within this bag. // Returns a reference to the node containing the entry, if located, // or null otherwise. private Node getReferenceTo(T anEntry) { boolean found = false; Node currentNode = firstNode;
while (!found && (currentNode != null)) { if (anEntry.equals(currentNode.getData())) found = true; else currentNode = currentNode.getNextNode(); } // end while
return currentNode; } // end getReferenceTo
/** Removes all entries from this bag. */ public void clear() { while (!isEmpty()) remove(); } // end clear
/** Removes one unspecified entry from this bag, if possible. @return Either the removed entry, if the removal was successful, or null. */ public T remove() { T result = null; if (firstNode != null) { result = firstNode.getData(); firstNode = firstNode.getNextNode(); // Remove first node from chain numberOfEntries--; } // end if
return result; } // end remove
/** Removes one occurrence of a given entry from this bag, if possible. @param anEntry The entry to be removed. @return True if the removal was successful, or false otherwise. */ public boolean remove(T anEntry) { boolean result = false; Node nodeN = getReferenceTo(anEntry);
if (nodeN != null) { nodeN.setData(firstNode.getData()); // Replace located entry with entry in first node
firstNode = firstNode.getNextNode(); // Remove first node numberOfEntries--;
result = true; } // end if
return result; } // end remove
private class Node { private T data; // Entry in bag private Node next; // Link to next node
private Node(T dataPortion) { this(dataPortion, null); } // end constructor
private Node(T dataPortion, Node nextNode) { data = dataPortion; next = nextNode; } // end constructor
private T getData() { return data; } // end getData
private void setData(T newData) { data = newData; } // end setData
private Node getNextNode() { return next; } // end getNextNode
private void setNextNode(Node nextNode) { next = nextNode; } // end setNextNode } // end Node } // end LinkedBag

* BagInterface.java ************************************************
public interface BagInterface<T> { /** Gets the current number of entries in this bag. @return The integer number of entries currently in the bag. */ public int getCurrentSize();
/** Sees whether this bag is empty. @return True if the bag is empty, or false if not. */ public boolean isEmpty();
/** Adds a new entry to this bag. @param newEntry The object to be added as a new entry. @return True if the addition is successful, or false if not. */ public boolean add(T newEntry);
/** Removes one unspecified entry from this bag, if possible. @return Either the removed entry, if the removal. was successful, or null. */ public T remove();
/** Removes one occurrence of a given entry from this bag. @param anEntry The entry to be removed. @return True if the removal was successful, or false if not. */ public boolean remove(T anEntry);
/** Removes all entries from this bag. */ public void clear();
/** Counts the number of times a given entry appears in this bag. @param anEntry The entry to be counted. @return The number of times anEntry appears in the bag. */ public int getFrequencyOf(T anEntry);
/** Tests whether this bag contains a given entry. @param anEntry The entry to locate. @return True if the bag contains anEntry, or false if not. */ public boolean contains(T anEntry);
/** Retrieves all entries that are in this bag. @return A newly allocated array of all the entries in the bag. Note: If the bag is empty, the returned array is empty. */ public T[] toArray(); // public <T> T[] toArray(); // Alternate // public Object[] toArray(); // Alternate
/** Creates a new bag that combines the contents of this bag and anotherBag. @param anotherBag The bag that is to be added. @return A combined bag. */ // public BagInterface<T> union(BagInterface<T> anotherBag);
/** Creates a new bag that contains those objects that occur in both this bag and anotherBag. @param anotherBag The bag that is to be compared. @return A combined bag. */ // public BagInterface<T> intersection(BagInterface<T> anotherBag);
/** Creates a new bag of objects that would be left in this bag after removing those that also occur in anotherBag. @param anotherBag The bag that is to be removed. @return A combined bag. */ // public BagInterface<T> difference(BagInterface<T> anotherBag); } // end BagInterface

* LinkedBagDemo.java ************************************************
public class LinkedBagDemo { public static void main(String[] args) { // Tests on a bag that is empty System.out.println("Creating an empty bag."); BagInterface<String> aBag = new LinkedBag<>(); displayBag(aBag); testIsEmpty(aBag, true); String[] testStrings1 = {"", "B"}; testFrequency(aBag, testStrings1); testContains(aBag, testStrings1); testRemove(aBag, testStrings1);
// Adding strings String[] contentsOfBag = {"A", "D", "B", "A", "C", "A", "D"}; testAdd(aBag, contentsOfBag);
// Tests on a bag that is not empty testIsEmpty(aBag, false); String[] testStrings2 = {"A", "B", "C", "D", "Z"}; testFrequency(aBag, testStrings2); testContains(aBag, testStrings2);
// Removing strings String[] testStrings3 = {"", "B", "A", "C", "Z"}; testRemove(aBag, testStrings3);
System.out.println("\nClearing the bag:"); aBag.clear(); testIsEmpty(aBag, true); displayBag(aBag); } // end main
// Tests the method add. private static void testAdd(BagInterface<String> aBag, String[] content) { System.out.print("Adding to the bag: "); for (int index = 0; index < content.length; index++) { aBag.add(content[index]); System.out.print(content[index] + " "); } // end for System.out.println();
displayBag(aBag); } // end testAdd
// Tests the two remove methods. private static void testRemove(BagInterface<String> aBag, String[] tests) { for (int index = 0; index < tests.length; index++) { String aString = tests[index]; if (aString.equals("") || (aString == null)) { // test remove() System.out.println("\nRemoving a string from the bag:"); String removedString = aBag.remove(); System.out.println("remove() returns " + removedString); } else { // test remove(aString) System.out.println("\nRemoving \"" + aString + "\" from the bag:"); boolean result = aBag.remove(aString); System.out.println("remove(\"" + aString + "\") returns " + result); } // end if
displayBag(aBag); } // end for } // end testRemove
// Tests the method isEmpty. // correctResult indicates what isEmpty should return. private static void testIsEmpty(BagInterface<String> aBag, boolean correctResult) { System.out.print("Testing isEmpty with "); if (correctResult) System.out.println("an empty bag:"); else System.out.println("a bag that is not empty:");
System.out.print("isEmpty finds the bag "); if (correctResult && aBag.isEmpty()) System.out.println("empty: OK."); else if (correctResult) System.out.println("not empty, but it is empty: ERROR."); else if (!correctResult && aBag.isEmpty()) System.out.println("empty, but it is not empty: ERROR."); else System.out.println("not empty: OK."); System.out.println(); } // end testIsEmpty
// Tests the method getFrequencyOf. private static void testFrequency(BagInterface<String> aBag, String[] tests) { System.out.println("\nTesting the method getFrequencyOf:"); for (int index = 0; index < tests.length; index++) System.out.println("In this bag, the count of " + tests[index] + " is " + aBag.getFrequencyOf(tests[index])); } // end testFrequency
// Tests the method contains. private static void testContains(BagInterface<String> aBag, String[] tests) { System.out.println("\nTesting the method contains:"); for (int index = 0; index < tests.length; index++) System.out.println("Does this bag contain " + tests[index] + "? " + aBag.contains(tests[index])); } // end testContains
// Tests the method toArray while displaying the bag. private static void displayBag(BagInterface<String> aBag) { System.out.println("The bag contains " + aBag.getCurrentSize() + " string(s), as follows:"); Object[] bagArray = aBag.toArray(); for (int index = 0; index < bagArray.length; index++) { System.out.print(bagArray[index] + " "); } // end for
System.out.println(); } // end displayBag } // end LinkedBagDemo

Know the answer?
Your Answer:

Post as a guest

Your Name:

What's your source?

Earn Coins

Coins can be redeemed for fabulous gifts.

Not the answer you're looking for?
Ask your own homework help question
Similar Questions
this is the book name. Data Structures and Abstractions with Java 1) Description: The sample programs...
this is the book name. Data Structures and Abstractions with Java 1) Description: The sample programs in Chapter 1 of your textbook are not complete. They are used for illustration purpose only. The implementation of Listing 1-1 on page 39 is explained in Chapter 2. And, in order to see the result of using it, we will need the following set of files: i. BagInteface.java – the specification only. ii. ArrayBag.java – the implementation of BagInerface.java. iii. ArrayBagDemo.java – a...
Code in JAVA The requirements are as follows: The input will be in a text file...
Code in JAVA The requirements are as follows: The input will be in a text file whose name is given by arg[0] of main(). It will contain a fully-parenthesized infix expression containing only: "(", ")", "+", "-" and integers. Need help on the main and fixing the Queue. //Input: ( ( 1 + 2 ) - ( ( 3 - 4 ) + ( 7 - 2 ) ) ) ( ( 1 + 2 ) - ( 3 -...
This is the java code that I have, but i cannot get the output that I...
This is the java code that I have, but i cannot get the output that I want out of it. i want my output to print the full String Form i stead of just the first letter, and and also print what character is at the specific index instead of leaving it empty. and at the end for Replaced String i want to print both string form one and two with the replaced letters instead if just printing the first...
Q: Implement an equals method for the ADT list that returns true when the entries in...
Q: Implement an equals method for the ADT list that returns true when the entries in one list equal the entries in a second list. In particular, add this method to the class AList. The following is the method header: public boolean equals (Object other) public class AList<T>{ private T list[]; private int capacity = 100; private int numOfEnteries =0; public AList(){ list = (T[])new Object[capacity + 1]; } public void add(T element){ numOfEnteries++; if (numOfEnteries >capacity) System.out.println ("Exceed limit");...
(Please use Java Eclipse) QUESTION 1: For the question below, assume the following implementation of LinkedQueue:...
(Please use Java Eclipse) QUESTION 1: For the question below, assume the following implementation of LinkedQueue: public static final class LinkedQueue<T> implements QueueInterface<T> {     private Node<T> firstNode;     private Node<T> lastNode;     public LinkedQueue() {         firstNode = null;         lastNode = null;     }     @Override     public T getFront() {         if (isEmpty()) {             return null;         }         return firstNode.getData();     }     @Override     public boolean isEmpty() {         return firstNode == null;    ...
The following program creates a linked list which contains 5 links. Add a method called doubleValue()...
The following program creates a linked list which contains 5 links. Add a method called doubleValue() to the LinkedList class. The doubleValue() method must double the value of the number data field in each link. Add the required code to the main() method to call the doubleValue() method and display the revised list. public class Link { private int number; private Link next;      public Link(int x) { number = x; }    public void displayLink() { System.out.println("The number is:...
The following program creates a linked list which contains 5 links. Add a method called doubleValue()...
The following program creates a linked list which contains 5 links. Add a method called doubleValue() to the LinkedList class. The doubleValue() method must double the value of the number data field in each link. Add the required code to the main() method to call the doubleValue() method and display the revised list. public class Link { private int number; private Link next;      public Link(int x) { number = x; }    public void displayLink() { System.out.println("The number is:...
Finish the code wherever it says TODO /**    * Node type for this list. Each...
Finish the code wherever it says TODO /**    * Node type for this list. Each node holds a maximum of nodeSize elements in an    * array. Empty slots are null.    */    private class Node {        /**        * Array of actual data elements.        */        // Unchecked warning unavoidable.        public E[] data = (E[]) new Comparable[nodeSize];        /**        * Link to next node.       ...
Here is a modification of the BST program that includes a recursive find method: BinarySearchTree2C.java (posted...
Here is a modification of the BST program that includes a recursive find method: BinarySearchTree2C.java (posted below) Implement the following methods using recursion: int depth() // returns the length of the deepest path from root to any leaf int node_count() // returns the number of nodes in the tree void insert(int n) // inserts value n into the tree BinarySearchTree2C clone() // returns a clone (deep copy) of the tree Add code to the main method to test these methods....
Java Language Add a method (convertToRing ()) that converts the list to a circular. This is,...
Java Language Add a method (convertToRing ()) that converts the list to a circular. This is, which makes the last node instead of pointing to null point to the first. Code: class Node { int value; Node nextNode; Node(int v, Node n) { value = v; nextNode = n; } Node (int v) { this(v,null); } } class LinkedList { Node head; //head = null; LinkedList() { } int length() { Node tempPtr; int result = 0; tempPtr = head;...
ADVERTISEMENT
Need Online Homework Help?

Get Answers For Free
Most questions answered within 1 hours.

Ask a Question
ADVERTISEMENT