Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

Please complete this with comments and pseudo code. (in Java) This was answered

ID: 3867044 • Letter: P

Question

Please complete this with comments and pseudo code. (in Java)

This was answered on Chegg here: https://www.chegg.com/homework-help/questions-and-answers/using-generic-capabilities-java-50-modify-implementation-structure-singlylinkedlist-presen-q16261235

If it's correct please add pseudo code for it.

1. public class SinglyLinkedList 2. private Node h; list header public SinglyLinkedList) { h new Node(); // dummy node 6 h,next = null public boolean insert (Listing newListing) { Node n = new Node(); if(n null) // out of memory roturn false else 12 13 { n.next =h.next ; h, next = n; n.1 = newLi sting. deepCopy(); return true; 15 17 18 public Listing fetch (String targetKey) { Node p = h.next; 21. && l(p. 1 . compareTo (target Key) 0)) while (p |s null { p=p.next; = 23 24 25 26 27. 28 29. 30, if(p 1= null) return p.l.deepCopyO; else return null: public boolean deleto (String targetKey) { Node q=h; Node p = h.next; while (p != null && 32 ! (p. 1 . compareTo(targetKey) 0)) == 34 35 36 37. 38 39 40 41 p = p.next; 1= q.next if(p null) p,next; = return true: else return false 43 public boolean update (String targetKey, Listing newListing) if(delete(targetKey)false) 44. 45 46 47 48 49 return false else if(insert (newl isting) = false) roturn false; return true;

Explanation / Answer

Source code:

public class SinglyLinkedListImpl<T> {
private Node<T> head;
private Node<T> tail;
public void add(T element){
Node<T> nd = new Node<T>();
nd.setValue(element);

System.out.println("Adding: "+element);
if(head == null){
head = nd;

tail = nd;

} else {


tail.setNextRef(nd);
}
tail = nd;

}

}

public void addAfter(T element, T after){
Node<T> tmp = head;

Node<T> refNode = null;

System.out.println("Traversing to all nodes..");


while(true){

if(tmp == null){

break;

}

if(tmp.compareTo(after) == 0){

  
refNode = tmp;

break;

}

tmp = tmp.getNextRef();

}

if(refNode != null){

  

Node<T> nd = new Node<T>();

nd.setValue(element);

nd.setNextRef(tmp.getNextRef());

if(tmp == tail){

tail = nd;

}

tmp.setNextRef(nd);

} else {

System.out.println("Unable to find the given element...");

}

}

public void deleteFront(){

if(head == null){

System.out.println("Underflow...");

}

Node<T> tmp = head;

head = tmp.getNextRef();

if(head == null){

tail = null;

}

System.out.println("Deleted: "+tmp.getValue());

}

public void deleteAfter(T after){

Node<T> tmp = head;

Node<T> refNode = null;

System.out.println("Traversing to all nodes..");

  

while(true){

if(tmp == null){

break;

}

if(tmp.compareTo(after) == 0){


refNode = tmp;

break;

}

tmp = tmp.getNextRef();

}

if(refNode != null){

tmp = refNode.getNextRef();

refNode.setNextRef(tmp.getNextRef());

if(refNode.getNextRef() == null){

tail = refNode;

}

System.out.println("Deleted: "+tmp.getValue());

} else {

System.out.println("Unable to find the given element...");

}

}

public void traverse(){

Node<T> tmp = head;

while(true){

if(tmp == null){

break;

}

System.out.println(tmp.getValue());

tmp = tmp.getNextRef();

}

}

public static void main(String a[]){

SinglyLinkedListImpl<Integer> sl = new SinglyLinkedListImpl<Integer>();

sl.add(3);

sl.add(32);

sl.add(54);

sl.add(89);

sl.addAfter(76, 54);

sl.deleteFront();

sl.deleteAfter(76);

sl.traverse();

}

}

class Node<T> implements Comparable<T> {

private T value;

private Node<T> nextRef;

public T getValue() {

return value;

}

public void setValue(T value) {

this.value = value;

}

public Node<T> getNextRef() {

return nextRef;

}

public void setNextRef(Node<T> ref) {

this.nextRef = ref;

}

public int compareTo(T arg) {

if(arg == this.value){

return 0;

} else {

return 1;

}

}

}

Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at
drjack9650@gmail.com
Chat Now And Get Quote