Question: Data Structures and Algorithms in Java - NetBeans import java.util.*; public class averageList{ static Scanner console = new Scanner(System.in); public static void main(String[] args) {
Data Structures and Algorithms in Java - NetBeans
import java.util.*;
public class averageList{
static Scanner console = new Scanner(System.in); public static void main(String[] args) { DoublyLinkedList myList = new DoublyLinkedList(); int element; int list_size; while(true){ System.out.println("Enter element(999 to stop):"); element = console.nextInt(); if(element==999) break; myList.addFirst(element); } System.out.println(myList); } // End of main }// End of class Lab02_EX8
class DoublyLinkedList { private Node header; private Node trailer;
private int size = 0;
public DoublyLinkedList() { header = new Node (0, null, null); trailer = new Node(0, header, null); header.setNext(trailer); }
public int size() { return size; }
public boolean isEmpty() { return size == 0; }
public int getFirst() { return header.getNext().getElement(); }
public int last() { return trailer.getPrev().getElement(); }
public void addFirst(int e) { addBetween(e, header, header.getNext()); }
public void addLast(int e) { addBetween(e, trailer.getPrev(), trailer); }
public int removeFirst() { return remove(header.getNext()); }
public int removeLast() { return remove(trailer.getPrev()); } private void addBetween(int e,Node predecessor,Node successor) { Node newest = new Node(e, predecessor, successor); predecessor.setNext(newest); successor.setPrev(newest); size++; } private int remove(Node node) { Node predecessor = node.getPrev(); Node successor = node.getNext(); predecessor.setNext(successor); successor.setPrev(predecessor); size--; return node.getElement(); }
public String toString() { StringBuilder sb = new StringBuilder("("); Node walk = header.getNext(); while (walk != trailer) { sb.append(walk.getElement()); walk = walk.getNext(); if (walk != trailer) sb.append(", "); } sb.append(")"); return sb.toString(); }
// *********** Write your function here **************
// **********End of functiobn******************
} //----------- end of DoublyLinkedList class -----------
class Node { private int element; private Node prev; private Node next; public Node(int e, Node p, Node n) { element = e; prev = p; next = n; }
public int getElement() { return element; }
public Node getPrev() { return prev; } public Node getNext() { return next; }
public void setPrev(Node p) { prev = p; }
public void setNext(Node n) { next = n; } } //End of Node class
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
