Tri à bulles Manuellement une Liste Liée dans Java

C'est ma première question ici.
Je suis en train de trier manuellement une liste chaînée d'entiers en java et je n'arrive pas à comprendre quel est le problème avec mon code. Toutes les suggestions? Je n'ai aucune erreur, mais j'ai toujours ma sortie non ordonnée. J'ai essayé de plusieurs façons, mais rien n'a fonctionné. J'apprécie si quelqu'un peut m'aider avec ça.

public class Node {
int data; 
Node nextNode;
public Node(int data) {
this.data = data;
this.nextNode = null;       
}
public int getData() {
return this.data;
}
} //Node class
public class DataLinkedList implements DataInterface {  
private  Node head;
private int size; 
public DataLinkedList(){
this.head = null;
this.size = 0;
}
public void add(int data) {
Node node = new Node(data);
if (head == null) {
head = node;
} else {
Node currentNode = head;
while(currentNode.nextNode != null) {
currentNode = currentNode.nextNode;
}
currentNode.nextNode = node;
}
size++;     
}
public void sort() {
if (size > 1) {
for (int i = 0; i < size; i++ ) {
Node currentNode = head;
Node next = head.nextNode;
for (int j = 0; j < size - 1; j++) {
if (currentNode.data > next.data) {
Node temp = currentNode;
currentNode = next;
next = temp;
} 
currentNode = next;
next = next.nextNode;                   
} 
}
}
}
public int listSize() {     
return size;
}
public void printData() {
Node currentNode = head;
while(currentNode != null) {
int data = currentNode.getData();
System.out.println(data);
currentNode = currentNode.nextNode;
}
}
public boolean isEmpty() {
return size == 0;
}
} //DataInterface class
public class DataApp {
public static void main (String[]args) {
DataLinkedList dll = new DataLinkedList();
dll.add(8);
dll.add(7);
dll.add(6);
dll.add(4);
dll.add(3);
dll.add(1);
dll.sort();
dll.printData();
System.out.println(dll.listSize());
}
} //DataApp class
  • Vous n'êtes pas en train de changer les liens à l'intérieur des nœuds.
  • vous ne Nœud currentNode = tête; à chaque fois. mais vous ne modifiez pas la tête. actuellement vous de comparer le premier élément avec d'autres de la taille de fois
InformationsquelleAutor Caico | 2015-04-25