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.
merci
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
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; }![]()
Partager