Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /**
- * Adds e to the list, so the list is still sorted by natural ordering of the
- * elements
- */
- public void addElement(String e) {
- Node newNode = new Node();
- newNode.data = e;
- if (first == null) { // no list -> create list
- first = newNode;
- } else {
- Node prev = null; // previous node
- Node curr = first; // current node
- while (curr != null && curr.data.compareTo(e) < 0) { // NullPointerException on this line
- prev = curr;
- curr = curr.next;
- }
- if (curr == null) { // went past end of list, so append
- prev.next = newNode;
- } else if (curr.data.compareTo(e) == 0) {
- System.out.println("The element already exists!");
- } else { // between prev and curr, or before start
- newNode.next = curr;
- if (prev != null) {
- prev.next = newNode;
- } else { // append before start, so 'first' changes
- first = newNode;
- }
- }
- }
- }
- public void addElement(String e) {
- Node extra = new Node();
- extra.data = e;
- if (first == null) {
- first = extra;
- } else {
- Node prev = null; // the "previous" node
- Node curr = first; // the "current" node
- while (curr != null && curr.data.compareTo(e) < 0) { // NullPointerException on this line
- prev = curr;
- curr = curr.next;
- }
- if (curr == null) {
- prev.next = extra;
- } else if (curr.data.compareTo(e) == 0) {
- System.out.println("Already have a " + e);
- } else {
- extra.next = curr;
- if (prev != null) {
- prev.next = extra;
- } else {
- first = extra;
- }
- }
- }
- }
- public void addElement(String e) { // only the very first string is ever added by use of this method
- if (first.data == null) {
- first.data = e;
- System.out.println("Success! " + e + " has been added!");
- } else if (first.data.compareTo(e) == 0) {
- System.out.println("The element already exists in the list");
- } else {
- while (first.next != null) {
- if (first.next.data.compareTo(e) != 0) {
- first.next.data = e;
- } else {
- first.next = first.next.next;
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment