Fonction qui renvoie la taille d'une liste
inteligence
Messages postés
42
Date d'inscription
Statut
Membre
Dernière intervention
-
lami20j Messages postés 21331 Date d'inscription Statut Modérateur, Contributeur sécurité Dernière intervention -
lami20j Messages postés 21331 Date d'inscription Statut Modérateur, Contributeur sécurité Dernière intervention -
Bonjour,
bonjour j'ai un petit problemme concernant les structures de donnees specialement les listes chainees:
voici l'algorithme suivant:
#include<stdio.h>
#include<stdlib.h>
typedef struct maillon cellule;
struct maillon
{
int valeure;
struct maillon *suivant;
}
void main()
{
cellule *L=NULL;
l=(cellule*)malloc(sizeof(cellule));
scanf("%d",&L->valeure);
L->suivant=NULL;
}
voici la fonction qui renvoie la taile de la liste
int TAILLE(cellule*L)
{
cellule *pc;
pc=L;
int n=0;
while(pc)
{
n++;
pc=pc->valeure;
}
}
le problemme ici c'est au sujet de la fontion qui envoie la taille de la liste ,je n'ai pas compris comment sa fonctionne la boucle plus precisement (pc=pc->suivant) et comment on peut passe d'une cellule a une autre ?
explique moi s'il vous plait ?
merci d'avence.
bonjour j'ai un petit problemme concernant les structures de donnees specialement les listes chainees:
voici l'algorithme suivant:
#include<stdio.h>
#include<stdlib.h>
typedef struct maillon cellule;
struct maillon
{
int valeure;
struct maillon *suivant;
}
void main()
{
cellule *L=NULL;
l=(cellule*)malloc(sizeof(cellule));
scanf("%d",&L->valeure);
L->suivant=NULL;
}
voici la fonction qui renvoie la taile de la liste
int TAILLE(cellule*L)
{
cellule *pc;
pc=L;
int n=0;
while(pc)
{
n++;
pc=pc->valeure;
}
}
le problemme ici c'est au sujet de la fontion qui envoie la taille de la liste ,je n'ai pas compris comment sa fonctionne la boucle plus precisement (pc=pc->suivant) et comment on peut passe d'une cellule a une autre ?
explique moi s'il vous plait ?
merci d'avence.
A voir également:
- Fonction qui renvoie la taille d'une liste
- Comment réduire la taille d'un fichier - Guide
- Liste déroulante excel - Guide
- Fonction si et - Guide
- Comment reduire la taille d'une photo - Guide
- Liste déroulante en cascade - Guide
2 réponses
chaque cellule contient l'adresse de la cellule suivante (struct maillon *suivant) un peu comme des personnes qui se donnent la main.
la chaine se termine quand l'adresse est à zéro (NULL) : while(pc) dès que pc == NULL, le compteur s'arrête.
la chaine se termine quand l'adresse est à zéro (NULL) : while(pc) dès que pc == NULL, le compteur s'arrête.
Salut,
le problemme ici c'est au sujet de la fontion qui envoie la taille de la liste
tu n'as pas besoin d'une fonction pour faire ça
Il faut tout simplement utiliser une variable et à chaque opération d'insertion ou suppression tu l'as incremente ou decremente
Ca pourra peut être t'aider liste simplement chainee
le problemme ici c'est au sujet de la fontion qui envoie la taille de la liste
tu n'as pas besoin d'une fonction pour faire ça
Il faut tout simplement utiliser une variable et à chaque opération d'insertion ou suppression tu l'as incremente ou decremente
Ca pourra peut être t'aider liste simplement chainee