LoganBlackisle

addElements(String e)

Aug 1st, 2019
192
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.06 KB | None | 0 0
  1.     /**
  2.      * Adds e to the list, so the list is still sorted by natural ordering of the
  3.      * elements
  4.      */
  5.     public void addElement(String e) {
  6.             Node newNode = new Node();
  7.             newNode.data = e;
  8.             if (first == null) { // no list -> create list
  9.                 first = newNode;
  10.             } else {
  11.                 Node prev = null; // previous node
  12.                 Node curr = first; // current node
  13.                 while (curr != null && curr.data.compareTo(e) < 0) { // NullPointerException on this line
  14.                     prev = curr;
  15.                     curr = curr.next;
  16.                 }
  17.                 if (curr == null) { // went past end of list, so append
  18.                     prev.next = newNode;
  19.                 } else if (curr.data.compareTo(e) == 0) {
  20.                     System.out.println("The element already exists!");
  21.                 } else { // between prev and curr, or before start
  22.                     newNode.next = curr;
  23.                     if (prev != null) {
  24.                         prev.next = newNode;
  25.                     } else { // append before start, so 'first' changes
  26.                         first = newNode;
  27.                     }
  28.                 }
  29.             }
  30.     }
  31.  
  32. public void addElement(String e) {
  33.         Node extra = new Node();
  34.         extra.data = e;
  35.         if (first == null) {
  36.             first = extra;
  37.         } else {
  38.             Node prev = null; // the "previous" node
  39.             Node curr = first; // the "current" node
  40.             while (curr != null && curr.data.compareTo(e) < 0) { // NullPointerException on this line
  41.                 prev = curr;
  42.                 curr = curr.next;
  43.             }
  44.             if (curr == null) {
  45.                 prev.next = extra;
  46.             } else if (curr.data.compareTo(e) == 0) {
  47.                 System.out.println("Already have a " + e);
  48.             } else {
  49.                 extra.next = curr;
  50.                 if (prev != null) {
  51.                     prev.next = extra;
  52.                 } else {
  53.                     first = extra;
  54.                 }
  55.             }
  56.         }
  57.     }
  58.  
  59. public void addElement(String e) { // only the very first string is ever added by use of this method
  60.         if (first.data == null) {
  61.             first.data = e;
  62.             System.out.println("Success! " + e + " has been added!");
  63.         } else if (first.data.compareTo(e) == 0) {
  64.             System.out.println("The element already exists in the list");
  65.         } else {
  66.             while (first.next != null) {
  67.                 if (first.next.data.compareTo(e) != 0) {
  68.                     first.next.data = e;
  69.                 } else {
  70.                     first.next = first.next.next;
  71.                 }
  72.             }
  73.         }
  74. }
Advertisement
Add Comment
Please, Sign In to add comment