rendered paste bodypublic class SinglyLinkedNodes {
private String element;
private SinglyLinkedNodes next;
public SinglyLinkedNodes(String s, SinglyLinkedNodes n){
element=s;
next=n;
}
public String toString(){
return element;
}
public void setNext(SinglyLinkedNodes n){
next = n;
}
public SinglyLinkedNodes getNext(){
return next;
}
public String getElement(){
return element;
}
public void setElement(String s){
element=s;
}
} // close node class
public class SinglyLinkedList {
protected SinglyLinkedNodes head;
protected long size;
public SinglyLinkedList(){
head = null;
size=0;
}
public void insertFirst(String s){
SinglyLinkedNodes newNode = new SinglyLinkedNodes(s, null);//1
newNode.setNext(head);//2
head=newNode;
size++;
}
public SinglyLinkedNodes getNext(){
return head;
}
public String toString( ) {
String s = "";
for( SinglyLinkedNodes n = head; n != null; n=n.getNext( ) ){
s += n.getElement( );
if( n.getNext( ) != null )
s += ", ";
}
return s;
}
}// close singlylinkedlist class
public class DoublyLinkedNodes {
private String element;
private double element2;
private DoublyLinkedNodes prev, next;
public DoublyLinkedNodes(DoublyLinkedNodes p, String s, double t, DoublyLinkedNodes n){
element2 = t;
element = s;
next = n;
prev = p;
}
public String toString1(){
return element;
}
public String toString2(){
String score;
score = element2+"";
return score;
}
public void setNext(DoublyLinkedNodes n){
next = n;
}
public void setPrev(DoublyLinkedNodes p){
prev = p;
}
public DoublyLinkedNodes getNext(){
return next;
}
public DoublyLinkedNodes getPrev(){
return prev;
}
public String getElement(){
return element;
}
public double getElement2(){
return element2;
}
public void setElement(String s){
element=s;
}
public void setElement2(double t){
element2=t;
}
}// close doublylinkednodes
public class DoublyLinkedList {
protected DoublyLinkedNodes head, tail;
protected DoublyLinkedNodes prev, next;
protected long size;
public DoublyLinkedList(){
prev = null;
next = null;
tail = head = null; // head node is equal to tail node. both null.
size=0;
}
public void insertFirst(String s, double t){
DoublyLinkedNodes newNode = new DoublyLinkedNodes(null, s, t, null);
newNode.setNext(head);//2
head=newNode;
size++;
return;
}
public String toString( ) {
String s = "";
for( DoublyLinkedNodes n = head; n != null; n=n.getNext( ) ){
s += n.getElement( );
if( n.getNext( ) != null )
s += ", ";
}
return s;
}
public String toString2( ){
String scores = "";
double t = 0;
for( DoublyLinkedNodes m = head; m != null; m=m.getNext( ) ){
t = m.getElement2();
scores += t + " ";
if( m.getNext() != null && m.getPrev() != null ){
scores += scores;
}
}
return scores;
}
} // close doublylinked list class
public class s0rter {
public static void main(String args[]){
System.out.println("This program will sort a series of names and scores");
System.out.println("Using Singly and doubly linked lists!" + '\n');
Scanner scanner = new Scanner(System.in);
SinglyLinkedList lis7 = new SinglyLinkedList();
DoublyLinkedList DLLis7 = new DoublyLinkedList();
int done=1;
String sName;
double dScore;
while( done < 5 ){
System.out.println("Enter a name and score.");
sName = scanner.next();
dScore = scanner.nextDouble();
lis7.insertFirst(sName);
DLLis7.insertFirst(sName, dScore);
System.out.println("lis7.head = " + lis7.head);
System.out.println("DLLis7.head = " + DLLis7.head);
done++;
System.out.println (" You entered \n name: "
+ lis7.toString()
+ " \n Score: ");
System.out.println (" You entered \n name: "
+ DLLis7.toString()
+ " \n Score: "
+ DLLis7.toString2()+'\n');
}
}
} // main class