IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C Discussion :

différence entre une file vide et une avec 1 seul élément


Sujet :

C

  1. #1
    Membre régulier
    Inscrit en
    Novembre 2006
    Messages
    422
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 422
    Points : 113
    Points
    113
    Par défaut différence entre une file vide et une avec 1 seul élément
    Slt , j’ai une question sur les files contigus ; comment on fait la différence entre une file complètement vide et une file qui ne contient qu’un seul élément prcq dans les 2 cas f .tete=0 f.queue=0
    Merci

  2. #2
    Expert éminent sénior

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 610
    Détails du profil
    Informations personnelles :
    Âge : 66
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 610
    Points : 17 923
    Points
    17 923
    Billets dans le blog
    2
    Par défaut
    file vide

    f.tete = NULL ;
    f.queue = NULL ;

    file à 1 elt :

    f.tete = elt0 ;
    f.queue = elt0 ;

  3. #3
    Membre régulier
    Inscrit en
    Novembre 2006
    Messages
    422
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 422
    Points : 113
    Points
    113
    Par défaut
    ok, si j'ai un seul elmt dans la file cmt je peux savoir si elle est vide ou pas (dans le cas ou je n'ai qu' 1 seul elmt a f.tab[0])

  4. #4
    Membre éprouvé Avatar de zooro
    Homme Profil pro
    Développeur Java
    Inscrit en
    Avril 2006
    Messages
    921
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Avril 2006
    Messages : 921
    Points : 1 260
    Points
    1 260
    Par défaut
    Je ne comprends pas ta question. C'est quoi f.tab[0] ???
    Comment définis-tu ta file ? En cas de doute, n'hésites pas à consulter cet article : http://nicolasj.developpez.com/articles/file/

    Sinon, comme l'a dit souviron34, si la file est vide, f.tete est à NULL. Et si elle n'est pas vide, f.tete pointe sur le premier élément.

  5. #5
    Membre habitué
    Profil pro
    Étudiant
    Inscrit en
    Août 2005
    Messages
    161
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2005
    Messages : 161
    Points : 185
    Points
    185
    Par défaut
    Pour ne pas te prendre la tête la dessus, rajoute un champ taille à ta file.

  6. #6
    Membre régulier
    Inscrit en
    Novembre 2006
    Messages
    422
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 422
    Points : 113
    Points
    113
    Par défaut
    voila la file
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    typedef struct file
    {
    	int tete;
    	int queue;
    	int tab[taille_max];//taille_max est un define
    }file;

  7. #7
    Expert éminent sénior

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 610
    Détails du profil
    Informations personnelles :
    Âge : 66
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 610
    Points : 17 923
    Points
    17 923
    Billets dans le blog
    2
    Par défaut
    eh bien dans ce cas-là

    file vide

    tete = -1
    queue = -1

    file à 1 elt :

    tete = 0
    queue = 0

    si tu raisonnes en termes d'indices. Si c'est en terme de nombre :

    vide :

    tete = 0
    queue = 0

    1 elt :

    tete = 1
    queue = 1

  8. #8
    Expert éminent sénior

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 610
    Détails du profil
    Informations personnelles :
    Âge : 66
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 610
    Points : 17 923
    Points
    17 923
    Billets dans le blog
    2
    Par défaut
    mais si tu fais une file, une vraie, alors vaudrait mieux faire une liste chaînée :


    PSEUDO-CODE

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
      struct _tab_elt  
        { ....
           struct _tab_elt previous ;
           struct _tab_elt next ;
       } tab_elt ;
     
      tab_elt *list = NULL 
     
      liste vide : list = NULL
     
      1 elt :  liste = elt
                elt next = NULL
                elt previous = NULL

  9. #9
    Membre régulier
    Inscrit en
    Novembre 2006
    Messages
    422
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 422
    Points : 113
    Points
    113
    Par défaut
    la file avec la liste chainée je metrise mais c'est la contigu qui me pose des problemes

  10. #10
    Expert éminent sénior

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 610
    Détails du profil
    Informations personnelles :
    Âge : 66
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 610
    Points : 17 923
    Points
    17 923
    Billets dans le blog
    2
    Par défaut
    c'est la même chose. Et pour savoir si c'est élément 0 ou si c'est vide, il suffit d'initialiser le nombre à -1 comme je disais au dessus :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
     
    typedef struct Ptr_file
    {
    	int tete;
    	int queue;
    	int tab[taille_max];//taille_max est un define
    }file;
     
    file Mafile ;
     
    /* Initialise la file */
    Mafile.tete = -1 ;
    Mafile.queue = -1 ;
     
    /* Crée le premier élément */
     
    Mafile.tete = 0 ;
    Mafile.queue = 0 ;
    Mafile.tab[0] = xxxxxx ;
     
    /* Crée le second élément */
     
    Mafile.tete = 0 ;
    Mafile.queue = 1 ;
    Mafile.tab[1] = yyyyyy ;
     
    ...................

Discussions similaires

  1. Réponses: 27
    Dernier message: 26/10/2011, 14h05
  2. Différence entre méthode d'inclusion d'une feuille CSS
    Par Death83 dans le forum Mise en page CSS
    Réponses: 14
    Dernier message: 11/01/2006, 15h00
  3. Ajouter un enregitrement a une table vide en VBA avec access
    Par Mateache dans le forum VBA Access
    Réponses: 4
    Dernier message: 03/01/2006, 15h36
  4. copie d'une table Y d'une base A vers une table X d'une base
    Par moneyboss dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 30/08/2005, 21h24
  5. Différence entre majuscule et minuscule dans une requête
    Par Asdorve dans le forum Langage SQL
    Réponses: 2
    Dernier message: 23/06/2004, 14h42

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo