Connaissances Informatiques >> programmation >> C /C + + Programming >> Content
  Derniers articles
  • Comment créer un projet Maven dans …
  • Comment accéder aux podcasts vidéo…
  • Comment effacer l'écran Avant une n…
  • Comment utiliser la fonction memcmp …
  • Comment écrire un programme en C po…
  • Affichage d'un message en C + + 
  • Types d'objets PowerShell 
  • Précautions pour les dépassements …
  • Comment faire un jeu RPG en C + + 
  • Comment mettre à jour la grille des…
  •   C /C + + Programming
  • C /C + + Programming

  • Computer Programming Languages

  • Delphi Programming

  • Programmation Java

  • Programmation JavaScript

  • PHP /MySQL Programmation

  • programmation Perl

  • Programmation Python

  • Ruby Programming

  • Visual Basics programmation
  •  
    C /C + + Programming

    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

     
    Article précédent:
    Article suivant:
    Articles recommandés
  • Comment faire pour obtenir la ligne Nombre d' un fichier d'entrée en C 
  • Comment faire pour supprimer des enregistrements dans un tableau du programme C 
  • Comment afficher des variables booléennes en C + + 
  • Comment lire un fichier en ANSI C 
  • Comment compiler un GDB 64 bits 
  • Comment inverser une file d'attente en C + + 
  • MFC ActiveX Tutoriel 
  • Faits sur Video Game Programming 
  • Comment connecter C # pour MS Excel 
  • Comment écrire plusieurs lignes dans un fichier dans C 
  • Connaissances Informatiques © http://www.ordinateur.cc