Connaissances Informatiques >> programmation >> C /C + + Programming >> Content
  Derniers articles
  • Comment mots en gras en C + + avec X…
  • Comment calculer les cercles entrecr…
  • Comment créer des événements MFC 
  • Comment écrire un script Vim 
  • Comment voir la pile d'appels dans G…
  • Comment changer mon mot de passe SYS…
  • Comment lire le nombre d'octets Asse…
  • Après avoir sélectionné une date …
  • Comment utiliser les cases à cocher…
  • Comment imprimer pointeurs en C 
  •   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 créer une liste doublement chaînée dans C Programming

    Les programmeurs utilisent des listes chaînées comme structures de données linéairement franchissables . Cela signifie que le programmeur peut commencer dès le début de la liste (appelée la tête) et avancer dans la liste un élément à la fois . Cette méthode de stockage des données permet également au programmeur d'ajouter efficacement les données de la liste, offrant une alternative plus souple à certaines autres structures de données telles que des tableaux dynamiques . Cet exemple montre comment construire une liste simple doublement chaînée , qui permet la navigation de la liste sur deux directions ( avant et arrière) . Choses que vous devez
    éditeur de texte C /C + + Compiler ou IDE (tels que Microsoft Visual Studio)
    Afficher plus Instructions
    1

    créer la structure noeud servira du type de la liste chaînée de données. Dans l'éditeur de texte, saisissez le code suivant :

    # include

    int main {

    struct ListNode {

    les données int ;

    jambe ListNode * prev ;

    jambe ListNode * suivant ;

    };

    return 0; }


    " ListNode struct " bloc de code crée un modèle pour les articles qui vont peupler la liste. Ce modèle définit un ListNode comme contenant trois éléments: un élément de données (un entier) et des pointeurs vers les articles précédents et suivants de la liste. Un pointeur est une variable qui contient une adresse de mémoire . Les pointeurs sont utilisés pour se référer à d'autres structures de données en mémoire profonde et d'allouer dynamiquement de la mémoire lors de l'exécution de code.
    2

    déclarer les variables qui vont organiser la structure de liste . Insérer cet exemple de code dans le fichier texte:

    taille de int;

    ListNode * tête ;

    ListNode * queue;

    queue = tête ; < br >

    tête = queue ;

    Ces deux indicateurs sont le début et la fin de la liste , respectivement. L'utilisation de ces pointeurs , le programmeur sait où le début de la liste et où la fin est tout simplement en vérifiant si le noeud courant est le «chef» ou le pointeur de "queue " . Ils ont tous deux renvoient les uns aux autres dans le cas d' une liste vide.
    3

    Créer un algorithme simple pour ajouter des éléments de la liste chaînée . Suivez cet exemple de code :

    vide append ( int num) {

    struct ListNode * traceur = tête ;

    struct ListNode * newNode = (struct ListNode *) malloc ( sizeof (struct ListNode ) ) ;

    newNode -> data = num ;

    if ( tête == null) {
    tête de

    = newNode ;

    queue = newNode ;

    newNode -> prev = tête ;

    newNode - > suivant = queue;

    } else {


    tout (traceur - > suivant = queue! )

    { = traceur traceur - > suivant ; }

    newNode -> prev = traceur;

    newNode - > suivant = queue;

    traceur - > suivant = noeud;

    queue = noeud;

    }
    taille

    + +;

    }

    Ce code ajoute un nœud à la fin de la liste . Il commence par créer un pointeur vers la tête de la liste ( «traceur» ) . Ensuite , il crée un pointeur vers un bloc de mémoire alloué dynamiquement mis de côté pour un ListNode nouvellement créée ( newNode ) et établit les données de ce noeud à l'entier " num" . Si les points de la tête à NULL ( la liste est vide , parce que les points de la tête à rien ), puis le code insère le nœud au début de la liste. Sinon, les "while" cycles de boucle à travers les nœuds de la liste jusqu'à atteindre le dernier nœud. Lorsque «traceur» pointe vers le dernier élément de la liste, le code insère le nœud . La dernière commande ajoute à l'entier «taille» , en gardant une trace des éléments de la liste
    4

    Créer un algorithme pour supprimer et produit à partir de la fin de la liste: .

    vide removeNode () {

    if ( queue = tête! ) {

    struct ListNode * Fin = queue;

    queue = queue -> prev ;
    < p> libre ( fin ) ;
    taille

    - ;

    } }


    Ce code crée un pointeur ( «fin» ) à la dernière élément de la liste ( les éléments mêmes "queue" souligne ) . Ensuite , la queue est réglé pour pointer vers l'élément juste avant le dernier élément ( le noeud pointé par le pointeur " prev" du dernier élément ) . Enfin, la mémoire utilisée par dernier noeud , désigné par «fin» , est libéré pour une utilisation ultérieure .

     
    Article précédent:
    Article suivant:
    Articles recommandés
  • Comment ajouter GridView 
  • Comment imprimer l'écran de sortie de C Programme 
  • Comment faire pour intégrer Python Dans Visual C 2008 
  • C Fonctions pour Xilinx 
  • Comment faire pour incrémenter automatiquement un numéro de build dans Visual C 
  • Comment écrire votre jeu propre programme 
  • Comment faire une application pour le iPhone dans Visual C 
  • Les avantages de prototypes de fonctions 
  • Comment imprimer Enum valeurs dans C 
  • Comment compiler en Borland C + + 
  • Connaissances Informatiques © http://www.ordinateur.cc