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 : 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; 
	}
merci