Мой код должен сортировать двусвязный список Integer
, но я получаю эту ошибку:
Exception in thread "main" java.lang.NullPointerException
at Ex_1.BubbleSortForDLL(Ex_1.java:26)
at Ex_1.main(Ex_1.java:10)
Вот мой код:
public static <E> void BubbleSortForDLL(DoublyLinkedList.Node<E> head){
int j;
boolean flag = true; // set flag to true to begin first pass
DoublyLinkedList.Node<E> temp = head;
DoublyLinkedList.Node<E> placeHolder = head;
while(flag){
int i = 1;
flag= false; //set flag to false awaiting a possible swap
DoublyLinkedList.Node<E> firstNode = placeHolder;
DoublyLinkedList.Node<E> secondNode = firstNode.getNext();
while(secondNode != null){
int first = (int)firstNode.getElement();
int second = (int)secondNode.getElement();
if (first > second){
if(i == 1)
placeHolder = secondNode;
firstNode.getPrev().setNext(secondNode);
secondNode.getNext().setPrev(firstNode);
firstNode.setNext(secondNode.getNext());
secondNode.setPrev(firstNode.getPrev());
firstNode.setPrev(secondNode);
secondNode.setNext(firstNode);
flag = true; //shows a swap occurred
}
firstNode = firstNode.getNext();
secondNode = firstNode.getNext();
i++;
}
}
}