J'ai une liste chaînée d'entiers. Quand j'insère un nouveau nœud, je dois l'insérer non pas à la fin, mais dans ou ... c'est-à-dire 2, 4, 5, 8, 11, 12, 33, 55, 58, 102, etc. Je ne pense pas Je l'insère dans la bonne position. Vois-tu ce que je fais de mal?Liste liée. Insérer des entiers dans l'ordre
Node newNode = new Node(someInt);
Node current = head;
for(int i=0; i<count; i++){
if(current == tail && tail.data < someInt){
tail.next = newNode;
}
if(current.data < someInt && current.next.data >= someInt){
newNode.next = current.next;
current.next = newNode;
}
}
À moins que vous vouliez récupérer par index ou doublons, je vous suggère d'utiliser un 'SortedSet' et 'Node implémente Comparable ' à la place. –
BalusC
@BalusC: Je suis à peu près sûr qu'il s'agit d'une tâche X HW en écriture personnalisée, basée sur l'historique des questions user69514 et la question elle-même. Ce que je soupçonne signifie que de vraies réponses sont manquantes, bien que SortedSet suffirait probablement, puisqu'il semble que toutes les données que contient Node. –
Carl