public void delete (int key) { int indexToDelete; int indexTemp; Node previous; Node toBeDeleted; Node after; indexToDelete = search(key); // No match, nothing to delete. if (indexToDelete == -1) { System.out.println("Cannot delete element with a data value of " + key + " because it was not found."); } else { // Deleting first element. if (indexToDelete == 1) { head = head.next; length--; } else { previous = null; toBeDeleted = head; indexTemp = 1; while (indexTemp < indexToDelete) { previous = toBeDeleted; toBeDeleted = toBeDeleted.next; indexTemp++; } previous.next = toBeDeleted.next; after = toBeDeleted.next; after.previous = previous; length--;