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 :

fonctions sur les Listes chainées


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2013
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2013
    Messages : 5
    Par défaut fonctions sur les Listes chainées
    Bonsoir,


    Je suis actuellement étudiant, et je viens de commencer les cours de programmation en C. Notre nous à demandé de réaliser des fonctions d'une liste chainée. pouvez-vous m'aider ? je ne sais pas par ou commencer.

    je vous explique ce qui est demandé :

    1- retrouver le énième élément d'une liste
    List* ieme ( List *L ; int index );


    2 - ajouter un élément à la énième place ...
    void add_ieme (List **L, int x, int index)


    3 - supprimer un élément à la énième place ...
    void del_ieme (List **L, int index)

    Merci d'avance

    Rototo1

  2. #2
    Inactif  


    Homme Profil pro
    Doctorant sécurité informatique — Diplômé master Droit/Économie/Gestion
    Inscrit en
    Décembre 2011
    Messages
    9 026
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Doctorant sécurité informatique — Diplômé master Droit/Économie/Gestion
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2011
    Messages : 9 026
    Par défaut
    Bonjour,

    Nous voulons bien t'aider mais pas faire le travail à ta place.

    Afin que nous puissions t'aider dans de bonnes conditions, il faudrait que tu nous montre ce que tu as déjà fait et les points sur lesquels tu bloques.

  3. #3
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2013
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2013
    Messages : 5
    Par défaut
    Je suis tout à fait d'accord avec vous. j'ai deja fait les fonction push, free. celles de basse mais alors les trois qui me reste je ne vois vraiment pas comment les faire.

  4. #4
    Modérateur

    Avatar de Bktero
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2009
    Messages
    4 493
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2009
    Messages : 4 493
    Billets dans le blog
    1
    Par défaut
    Commence par écrire l'algorithme, en français / pseudo-code.

    Par exemple pour recherche du n-ième élément :
    1) Initialiser le compteur.
    2) Index == Compteur ?
    Si non :
    - Incrémenter un compteur
    - Allez à l'élément suivant
    - Recommencer à l'étape 2
    Si oui :
    - Retourner l'élément et terminer la fonction.

    Il faut faire la même chose pour chaque fonction, puis "traduire" en C.

  5. #5
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2013
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2013
    Messages : 5
    Par défaut
    pour la recherche du ième élément.

    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
    int supp(List *L, int X){
     
        int i;
        for(i=0; i<X && L !=NULL; i++)
        {
            L=L->Next;
     
        }
        if( L == NULL)
        {
            return NULL;
        }
        else
        {
            return L;
        }
    }

  6. #6
    Membre Expert Avatar de edgarjacobs
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2011
    Messages
    766
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2011
    Messages : 766
    Par défaut
    Oui, pour la recherche du xème élément, le principe est bon, mais je ferais plutôt
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    // x=1 ==> le premier élement de la liste
    List *search(List *L, int X)
    {
       while(L!=NULL && --X) L=L->Next;
       return L;
    }
    Il vaut mieux renvoyer l'adresse de l'élément (je pense que cette fonction te servira dans les deux autres à écrire ), à l'appelant de tester si le retour n'est pas NULL.

    PS: quand tu postes un code, mets les balises code autour....

Discussions similaires

  1. Explication sur les listes chainées
    Par guipe dans le forum Débuter
    Réponses: 6
    Dernier message: 24/08/2010, 11h54
  2. Question sur les listes chainées.
    Par deubelte dans le forum C++
    Réponses: 15
    Dernier message: 18/03/2010, 13h29
  3. projet ou exercices sur les listes chainées
    Par petite_developpeuse dans le forum C
    Réponses: 1
    Dernier message: 12/12/2008, 17h07
  4. des questions sur les listes chainées
    Par hunter99 dans le forum C
    Réponses: 13
    Dernier message: 05/12/2006, 22h51
  5. Recherche fonction sur les listes
    Par becks dans le forum Général Python
    Réponses: 5
    Dernier message: 05/05/2006, 16h11

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