Advertisement
LoganBlackisle

doubly linked list

Jul 31st, 2019
158
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.17 KB | None | 0 0
  1. package linkedlist;
  2.  
  3. public class SortedLinkedListDouble {
  4.     private Node first;
  5.     private Node last;
  6.     int size;
  7.  
  8.     public SortedLinkedListDouble() {
  9.         first = new Node();
  10.         last = new Node();
  11.         first.next = last;
  12.         last.prev = first;
  13.         size = 0;
  14.     }
  15.    
  16.     /**
  17.      * Adds e to the list, so the list is still sorted by natural ordering of the
  18.      * elements
  19.      */
  20.     public void addElement(String e) {
  21.     }
  22.  
  23.     /**
  24.      * Udskriver elementerne i listen i sorteret rækkefølge
  25.      */
  26.     public void udskrivElements() {
  27.         Node temp = first;
  28.         while (temp != null) {
  29.             System.out.println(temp.data);
  30.             temp = temp.next;
  31.         }
  32.     }
  33.  
  34.     /**
  35.      * @return antal af elementer i listen
  36.      */
  37.     public int countElements() {
  38.         int count = 0;
  39.         Node temp = first;
  40.         while (temp != null) {
  41.             count++;
  42.             temp = temp.next;
  43.         }
  44.         return count;
  45.     }
  46.  
  47.     /**
  48.      * Fjerner det sidste element i listen
  49.      *
  50.      * @return true hvis et element blev fjernet, ellers false
  51.      */
  52.     public boolean removeLast() {
  53.         if (first != null) {
  54.         } else if (first.next == null) {
  55.             first = null;
  56.             return true;
  57.         } else {
  58.             Node temp = first;
  59.             while (temp.next != null) {
  60.                 if (temp.next.next == null) {
  61.                     temp.next = null;
  62.                 } else {
  63.                     temp = temp.next;
  64.                 }
  65.             }
  66.             return true;
  67.         }
  68.         return false;
  69.     }
  70.  
  71.     /**
  72.      * Fjerner første element i listen
  73.      *
  74.      * @param element
  75.      * @return true hvis e blev fjernet, ellers false
  76.      */
  77.     public boolean removeElement(String e) {
  78.         if (first != null) {
  79.             if (first.data.equals(e)) {
  80.                 first = first.next;
  81.             } else {
  82.                 Node temp = first;
  83.                 boolean found = false;
  84.                 while (!found && temp.next != null) {
  85.                     if (temp.next.data.equals(e)) {
  86.                         found = true;
  87.                     } else {
  88.                         temp = temp.next;
  89.                     }
  90.                 }
  91.                 if (found) {
  92.                     Node temp2 = temp.next;
  93.                     temp.next = temp2.next;
  94.                     temp2.next = null;
  95.                 }
  96.             }
  97.         }
  98.         return false;
  99.     }
  100.    
  101.     /**
  102.      * Adds all the elements from list to the actual list. The list should still be
  103.      * sorted by natural ordering of the elements
  104.      */
  105.     public void addAll(SortedLinkedList list) {
  106.     }
  107.  
  108.     class Node {
  109.         public String data;
  110.         public Node next;
  111.         public Node prev;
  112.     }
  113. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement