| maison  | Hardware  | réseaux  | programmation  | Logiciel  | Dépannage  | systèmes |  
programmation  
  • C /C + + Programming

  • Computer Programming Languages

  • Delphi Programming

  • Programmation Java

  • Programmation JavaScript

  • PHP /MySQL Programmation

  • programmation Perl

  • Programmation Python

  • Ruby Programming

  • Visual Basics programmation
  •  
    Connaissances Informatiques >> programmation >> C /C + + Programming >> Content
    Comment inverser une liste unique Lié
    Il est courant de devoir inverser une liste chaînée , mais il peut être difficile de le faire correctement . Une des solutions les plus simples consiste à parcourir la boucle , en inversant chaque pointeur. Ce pseudo montre comment effectuer ce processus tout en gardant une trace des variables nécessaires . Le pseudo est assez générique que vous devriez être en mesure de l'adapter à la langue que votre code est po Instructions
    1

    Vérifier cas de pointe simples. Si le pointeur de tête est nul, la liste est vide et aucun travail qui doit être fait . Si prochain pointeur de la tête est nulle , il n'y a qu'un seul élément dans la liste, inversant il ne fait rien .

    Si la tête = null alors returnif tête - > suivant = null puis retour
    2

    Initialisation trois pointeurs : prev , actuelles et futures . « Précédent » et «courant» doivent pointer sur le noeud de tête de la liste. "Suivant" doit pointer au deuxième noeud en regardant le pointeur dans le noeud de tête

    pointeur prev = tête ; . Pointeur courant = tête ; pointeur suivant = tête - > suivant ;
    Hôtels 3

    Situé à côté du pointeur de la tête noeud à null. Le nœud de tête deviendra le dernier nœud dans la liste, il y aura donc pas de nœuds après.

    Tête - > suivant = null
    4

    boucle dans la liste inverser la direction des pointeurs . Les trois pointeurs initialisés précédemment sont utilisés pour garder une trace de la position actuelle dans la liste.

    Tandis prochaine! = Null //Un pointeur suivant nulle signifie que nous avons atteint la fin de la prochaine listcurrent = //Advance le pointernext = courant -> next //avance la prochaine pointercurrent - > suivant = prev //point le nœud actuel au nœud précédent , renversant la linkprev = courant //Faire progresser le dernier pointerend tout
    5

    point de la variable de la tête à nouveau la tête de la liste. tête de


    = actuel

    Previous :

    next :
      articles connexes
    ·Comment puis-je écrire un programme en langage C progr…
    ·Comment revenir à la fonction principale en C + + 
    ·Comment faire pour convertir Celsius en Fahrenheit en C…
    ·Quelles sont les fonctions des lecteurs 
    ·Comment créer une boucle While en C 
    ·Comment surcharger l'opérateur d'affectation en C 
    ·Comment utiliser la fonction de strrchr en C + + 
    ·Comment faire pour afficher des images dans une applica…
    ·Comment faire un site Web Mashup 
    ·Comment créer un Pk3 Fichier 
      articles en vedette
    ·Comment supprimer un fichier avec les sous - dossiers e…
    ·Types de données pour Turbo C 
    ·Comment accéder à un VBA Email Attachment 2007 
    ·Comment faire pour exécuter un exploit IPBFree Avec Pe…
    ·Comment obtenir un nombre de rotations en Java 
    ·Comment utiliser les fichiers GPX 
    ·Comment faire pour obtenir la valeur de Mod en Java 
    ·Comment utiliser une instruction J'aime 
    ·Comment configurer Apache pour Javascript 
    ·Comment générer des nombres négatifs dans Java 
    Copyright © Connaissances Informatiques http://fr.wingwit.com