Connaissances Informatiques >> programmation >> C /C + + Programming >> Content
  Derniers articles
  • Comment faire Cin.Fail 
  • Comment obtenir un argument d'entré…
  • Comment lire une ligne au hasard dan…
  • Comment utiliser la fonction strcmp …
  • Les inconvénients de pointeurs en C…
  • Comment créer un arbre binaire en C…
  • Comment initialiser un tableau en C 
  • Comment assimiler deux choses dans u…
  • Comment déboguer avec GDB dans Linu…
  • Comment compiler du code C comme une…
  •   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 faire une fonction de file d'attente dans la syntaxe C

    programmeurs utilisent les files d'attente pour représenter des structures de données qui fonctionnent par la First In, First Out ( FIFO) directrice. Cela signifie que toutes les données entrées dans la structure vont ajouter à une liste de données , et les données qui ont été dans la liste la plus longue sera la première à être enlevé. Dans le langage de programmation C , un programmeur implémente mieux, une forme de base de cette structure en utilisant une liste chaînée et différents pointeurs de maintenir l'ordre des données. Instructions
    1

    créer la structure de nœud de données et la structure de la liste. Pour que la liste liée à fonctionner comme une queue, la liste ne doit contenir de noeuds capables de référence au noeud suivant dans la liste et deux pointeurs qui référencent le début et la fin de la liste . Ces structures montrent par exemple un modèle de base pour la liste des nœuds et la structure de file d'attente :

    struct noeud {

    des données int ;

    struct * Node prochaine ;

    } ;

    struct queue_list {

    struct * premier noeud ; //pointeur vers le premier élément

    struct noeud * dernier ; //pointeur sur le dernier élément < br >

    }
    2

    implémenter un algorithme d'insertion de données. Dans une file d'attente , le programme doit toujours ajouter les données à la fin de la liste . En outre, la liste doit faire référence au dernier élément , donc insertions futures sachent sur ​​quelle extrémité à ajouter. L'exemple suivant montre un algorithme simple d'ajouter un nœud avec les données sur une file d'attente :

    void insert (struct file * q , int value) {

    struct noeud * newnode = malloc ( sizeof ( struct node) ) ;

    newnode -> data = value;

    newnode - > suivant = NULL;

    si (q- > premier == null) {

    q -> first = q -> nom = newnode ; //si la liste est vide , le premier et le dernier = newnode

    }

    else { < br >

    q- > dernier - > suivant = newnode ; q -> nom = dernier -> next //append newnode après le dernier élément

    ; //Point "dernier" pointeur vers l' nouveau nœud

    } }


    3

    implémenter un algorithme de suppression . Cet algorithme prend la valeur du premier noeud dans la liste. Ensuite, il pointera le "premier" pointeur vers le nœud suivant et supprimez le premier noeud. Cela rendra le nœud suivant la nouvelle première position sur la liste, prêt à être retiré . L'exemple suivant montre un algorithme pour effectuer cette opération:

    int remove (struct file * q ) {

    int value = q- > first - > data ;

    struct noeud * temp = q -> première ;

    q -> first = q- > first -> next ; //déplace le premier pointeur vers le prochain point

    libre (temp) ; //supprime la première valeur vieux nœud d'iPhone de

    de retour; //retourne la première valeur;

    }
    4

    déclarer et utiliser une file d'attente . Le programmeur peut déclarer une file d'attente comme variable de type " struct file d'attente " et d'utiliser les fonctions définies pour ajouter et supprimer des éléments . L'exemple suivant montre comment déclarer et utiliser une structure de file d'attente :

    int main () {

    struct file d'attente q;

    insert ( & q , 5); //utilisations une référence à "q" pour éviter les copies peu profondes

    insert ( & q , 6) ;

    int x = supprimer ( & q); //x = 5
    < br >

     
    Article précédent:
    Article suivant:
    Articles recommandés
  • Comment faire pour convertir IPA à C Source 
  • Comment écrire une API MFC pour l'arrêt du poste de travail 
  • Comment faire pour convertir BitArray à Byte 
  • Comment écrire un programme C qui va lire dans un fichier texte 
  • Comment représenter un onglet dans une chaîne en RPC 
  • Chaînes communes à C 
  • Comment déboguer une fuite de mémoire en C + + 
  • Comment remplir une matrice 2D en C 
  • Comment faire pour convertir Celsius en Fahrenheit en C + + sans formater le nombre de décimales 
  • Qu'est-ce qu'un conflit d'héritage 
  • Connaissances Informatiques © http://www.ordinateur.cc