public int next() { int data = currentNode.getData(); currentNode = currentNode.getPrevious(); return(data); }
public void delete(int index) { Node currentNode = head; int currentIndex = 0; if (index < 0 || index >= size) { return; } size--; if (size == 0) { head = null; tail = null; return; } if (index == 0) { head = head.getNext(); head.setPrevious(null); } if (index == size - 1) { tail = tail.getPrevious(); tail.setNext(null); } if (index > 0 && index < size - 1) { while (currentIndex < index) { currentNode = currentNode.getNext(); currentIndex++; } currentNode.getPrevious().setNext(currentNode.getNext()); currentNode.getNext().setPrevious(currentNode.getPrevious()); } }
public void insert(int data, int position, Iterator it) { Node newNode = new Node(data); Node currentNode = it.getCurrentNode(); if (position == AFTER) { newNode.setNext(currentNode.getNext()); newNode.setPrevious(currentNode); currentNode.setNext(newNode); if (newNode.getNext() != null) { newNode.getNext().setPrevious(currentNode); } else { tail = newNode; } } else if (position == BEFORE) { newNode.setPrevious(currentNode.getPrevious()); newNode.setNext(currentNode); currentNode.setPrevious(newNode); if (newNode.getPrevious() != null) { newNode.getPrevious().setNext(newNode); } else { head = newNode; } } else { System.Console.WriteLine("No conozco el valor de position"); } size++; }
public void insert(int data, int position, Iterator it) { Node newNode = new Node(data); Node currentNode = it.getCurrentNode(); size++; if (position == AFTER) { newNode.setNext(currentNode.getNext()); currentNode.setNext(newNode); if (newNode.getNext() != null) { newNode.setPrevious(currentNode); newNode.getNext().setPrevious(newNode); } else { newNode.setNext(null); } } else if (position == BEFORE) { newNode.setPrevious(currentNode.getPrevious()); newNode.setNext(currentNode); currentNode.setPrevious(newNode); if (newNode.getPrevious() != null) { newNode.getPrevious().setNext(newNode); } else { newNode.setPrevious(null); } } }