[debutant] pb avec liste Chainée.
Bonjour voici le code ci-dessous qui fonctionne.
Toutefois, si l'on ajoute 1 élément à la dernière position ( NULL), je ne comprends pas pourquoi cela fonctionne, c'est à dire comment l'élément précédent connaît le successeur.
Code:
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 28 29 30 31 32
|
struct cellule
{
int info;
cellule * succ;
};
typedef cellule *liste;
void inserordonne(int x, liste *L)
{
cellule *q=NULL;
if (*L!=NULL && (*L)->info<x)
{
// *L=(*L)->succ; peut pas faire ça car faut pas toucher à la liste !
inserordonne(x,&(*L)->succ); //equivaut à pointeur pointeur **L.succ
}else
{
q= new cellule; // obligatoire
q->info=x; // place l'info dans Q
q->succ=*L;
*L=q;
} |
merci :wink: