Add more methods to the singly linked list class then test them • search(e) // Return one node with 3 values (stuID, stuName, stuScore) which matches a given key e (studentID). • addAfter(e, stuID, stuName, stuScore) //Add a new node with 3 values (stuID, stuName, stuScore) after the node with the key e (studentID). • removeAt(e) //Remove a node which matches a given key e (studentID) • count() //Return a number of nodes of list. • update(stuID, stuName, stuScore) //Update the values of one node three codes below two in pictures one,typed out. public class SlinkedList {     private Node head;     private Node tail;     private int size;          public SlinkedList(){         head=null;         tail=null;         size=0;     }          public int getSize(){         return size;     }          public boolean isEmpty(){         return size == 0;              }      public A getFirstStuId(){     if(isEmpty())         return null;     return (A) head.getStuID(); } public B getFirstStuName(){     if(isEmpty())         return null;     return (B) head.getStuName(); } public C getFirstStuScore(){     if(isEmpty())         return null;     return (C) head.getStuScore(); } public void addFirst(A id, B name, C score){     Node newest = new Node<>(id, name,score);     if(isEmpty()) {         head=newest;         tail=newest;     }else{         newest.setNext(head);         head=newest;     }     size++; } public void addLast(A id, B name, C score) {     Node newest=new Node<>(id, name, score);     if(isEmpty()) {         tail=newest;         head=newest;     }else {         tail.setNext(newest);         tail=newest;     }     size++; } public A removeFirst() {     if(isEmpty())         return null;     A firstID = (A) head.getStuID();     head=head.getNext();     size--;     if(getSize()==0)         tail=null;     return firstID; } public Node search(A id){     if(isEmpty()) {         System.out.println("Linked list is empty");         return null;         }     Node temp= head;          do {         if(temp.getStuID()==id)             return temp;         temp=temp.getNext();     }while(temp!=null);          System.out.println("can not find node(id"+id+")in linked list");     return null;     } public Node update(A key, A nid, B nname, C nscore){     Node updateNode= search(key);          if(updateNode==null)         return null;          updateNode.setStuID(nid);     updateNode.setStuName(nname);     updateNode.setStuScore(nscore);          return updateNode; } public void display() {     if (isEmpty()){         System.out.println("Singly linked list is empty.");              }     else {         Node temp = head;                  System.out.println("=========== beginning of lists==========");         do{             temp.displayNode();             temp = temp.getNext();         }while(temp != null);         System.out.println("===========Ending of lists===========");                  }              }      }

icon
Related questions
Question

Add more methods to the singly linked list class then test them
• search(e) // Return one node with 3 values (stuID, stuName, stuScore) which matches a
given key e (studentID).
• addAfter(e, stuID, stuName, stuScore) //Add a new node with 3 values (stuID,
stuName, stuScore) after the node with the key e (studentID).
• removeAt(e) //Remove a node which matches a given key e (studentID)
• count() //Return a number of nodes of list.
• update(stuID, stuName, stuScore) //Update the values of one node

three codes below two in pictures one,typed out.

public class SlinkedList<A,B,C> {
    private Node head;
    private Node tail;
    private int size;
    
    public SlinkedList(){
        head=null;
        tail=null;
        size=0;
    }
    
    public int getSize(){
        return size;
    }
    
    public boolean isEmpty(){
        return size == 0;
        
    }
    
public A getFirstStuId(){
    if(isEmpty())
        return null;
    return (A) head.getStuID();
}
public B getFirstStuName(){
    if(isEmpty())
        return null;
    return (B) head.getStuName();
}
public C getFirstStuScore(){
    if(isEmpty())
        return null;
    return (C) head.getStuScore();
}
public void addFirst(A id, B name, C score){
    Node<A,B,C> newest = new Node<>(id, name,score);
    if(isEmpty()) {
        head=newest;
        tail=newest;
    }else{
        newest.setNext(head);
        head=newest;
    }
    size++;
}
public void addLast(A id, B name, C score) {
    Node<A,B,C> newest=new Node<>(id, name, score);
    if(isEmpty()) {
        tail=newest;
        head=newest;
    }else {
        tail.setNext(newest);
        tail=newest;
    }
    size++;
}
public A removeFirst() {
    if(isEmpty())
        return null;
    A firstID = (A) head.getStuID();
    head=head.getNext();
    size--;
    if(getSize()==0)
        tail=null;
    return firstID;
}
public Node<A,B,C> search(A id){
    if(isEmpty()) {
        System.out.println("Linked list is empty");
        return null;
        }
    Node<A,B,C> temp= head;
    
    do {
        if(temp.getStuID()==id)
            return temp;
        temp=temp.getNext();
    }while(temp!=null);
    
    System.out.println("can not find node(id"+id+")in linked list");
    return null;
    }
public Node<A,B,C> update(A key, A nid, B nname, C nscore){
    Node<A,B,C> updateNode= search(key);
    
    if(updateNode==null)
        return null;
    
    updateNode.setStuID(nid);
    updateNode.setStuName(nname);
    updateNode.setStuScore(nscore);
    
    return updateNode;
}
public void display() {
    if (isEmpty()){
        System.out.println("Singly linked list is empty.");
        
    }
    else {
        Node<A,B,C> temp = head;
        
        System.out.println("=========== beginning of lists==========");
        do{
            temp.displayNode();
            temp = temp.getNext();
        }while(temp != null);
        System.out.println("===========Ending of lists===========");
        
        }
        
    }
    
}

⇒ eclipse-workspace - WhereAreMyFiles/src/TestSlinked List.java - Eclipse IDE
File Edit Source Refactor Navigate Search Project Run Window Help
-2 20
Node.java
2
Lecturel.java
음... 1
30
10
11
12
13
14
15
16
17
2018
19
20
21
22
23
24
25
26
27
28
public class TestSlinkedList {
}
75°F
Sunny
StringBuild....
}
public static void main (String[] args) {
SlinkedList s1 = new SlinkedList ();
sl.addFirst ("101","mary", 98.9);
sl.addFirst ("102", "mark",90.0);
sl.addFirst ("106","jark", 88.2);
sl.addFirst ("109","joan", 89.2);
sl.display();
Node temp = sl.search ("101");
if (temp!=null) {
}
System.out.println("got it!");
temp.displayNode ();
temp = s1.search ("108");
if (temp!=null) {
Singlelista...
System.out.println("got it!");
temp.displayNode ();
■
}
temp = sl.update("101","100","marry H",99.0);
temp.displayNode ();
樱画]
Q Search
node.java
▾▾
DoublyLinke...
Writable
a
TestDoublyLi...
Slinked List....
Smart Insert
TestDoublyLi...
23:55: 643
R
TestSlinked L... X
>>
"88
4x
a
X
8:40 PM
10/5/2023
AC
2* en
鼎
Transcribed Image Text:⇒ eclipse-workspace - WhereAreMyFiles/src/TestSlinked List.java - Eclipse IDE File Edit Source Refactor Navigate Search Project Run Window Help -2 20 Node.java 2 Lecturel.java 음... 1 30 10 11 12 13 14 15 16 17 2018 19 20 21 22 23 24 25 26 27 28 public class TestSlinkedList { } 75°F Sunny StringBuild.... } public static void main (String[] args) { SlinkedList s1 = new SlinkedList (); sl.addFirst ("101","mary", 98.9); sl.addFirst ("102", "mark",90.0); sl.addFirst ("106","jark", 88.2); sl.addFirst ("109","joan", 89.2); sl.display(); Node temp = sl.search ("101"); if (temp!=null) { } System.out.println("got it!"); temp.displayNode (); temp = s1.search ("108"); if (temp!=null) { Singlelista... System.out.println("got it!"); temp.displayNode (); ■ } temp = sl.update("101","100","marry H",99.0); temp.displayNode (); 樱画] Q Search node.java ▾▾ DoublyLinke... Writable a TestDoublyLi... Slinked List.... Smart Insert TestDoublyLi... 23:55: 643 R TestSlinked L... X >> "88 4x a X 8:40 PM 10/5/2023 AC 2* en 鼎
eclipse-workspace - WhereAreMyFiles/src/Node.java - Eclipse IDE
File Edit Source Refactor Navigate Search Project Run Window Help
2
25
1
2
Lecturel.java
RO
9
$10
11
12
13
14
$150
16
17
18
19
20
public class Node<A,B,C> []
private A stuID;
privata BatuName;
privata stuscore;
private Noda<A, B, C> next;
1
32
33 1
46
47
48
public Node (A id, B name, C score) [
this.stuID = id;
this.stuNama - name;
this.stuscore score
this.next=null;
1
21 1
22 public c getstuscore () {
23
return this.stuScore;
StringBuild....
public B getStuName() [
return this.st.uName;
1
public A getStaID() {
return this.stuID;
1
25
26
27 public Node<A, B, C getNext() [
28
return this.next;
29
$30 1
31public void setStuID (A id) {
this.stuID = id;
35 public void setStuName (B name) [
36
this.stuName - name;
37 1
38 public void set tuscore (C score) [
39
this.stuscore - score;
1
40
41 public void setNext (Node<A,B,C n) [
42
this.next- na
843
1
44 public void displayNode () {
75°F
Sunny
#
Ⓒ
Node.java X Singlelista...
¶¶¶
System.out.println("ID-"+this.stuID+ ", Name-"+this.stuName+", Score-"+this.stuScore);
樱画]
Q Search
node.java
▾▾
DoublyLinke...
Writable
a
TestDoublyLi...
Slinked List....
Smart Insert
TestDoublyLi...
47:3:919
R
TestSlinkedL...
"88
Q
8:41 PM
10/5/2023
X
* * * + @ 隐旦
8
%
鼎
2
@
@
Transcribed Image Text:eclipse-workspace - WhereAreMyFiles/src/Node.java - Eclipse IDE File Edit Source Refactor Navigate Search Project Run Window Help 2 25 1 2 Lecturel.java RO 9 $10 11 12 13 14 $150 16 17 18 19 20 public class Node<A,B,C> [] private A stuID; privata BatuName; privata stuscore; private Noda<A, B, C> next; 1 32 33 1 46 47 48 public Node (A id, B name, C score) [ this.stuID = id; this.stuNama - name; this.stuscore score this.next=null; 1 21 1 22 public c getstuscore () { 23 return this.stuScore; StringBuild.... public B getStuName() [ return this.st.uName; 1 public A getStaID() { return this.stuID; 1 25 26 27 public Node<A, B, C getNext() [ 28 return this.next; 29 $30 1 31public void setStuID (A id) { this.stuID = id; 35 public void setStuName (B name) [ 36 this.stuName - name; 37 1 38 public void set tuscore (C score) [ 39 this.stuscore - score; 1 40 41 public void setNext (Node<A,B,C n) [ 42 this.next- na 843 1 44 public void displayNode () { 75°F Sunny # Ⓒ Node.java X Singlelista... ¶¶¶ System.out.println("ID-"+this.stuID+ ", Name-"+this.stuName+", Score-"+this.stuScore); 樱画] Q Search node.java ▾▾ DoublyLinke... Writable a TestDoublyLi... Slinked List.... Smart Insert TestDoublyLi... 47:3:919 R TestSlinkedL... "88 Q 8:41 PM 10/5/2023 X * * * + @ 隐旦 8 % 鼎 2 @ @
Expert Solution
steps

Step by step

Solved in 3 steps with 1 images

Blurred answer