Bonjour a tous,
J'ai un ptit prob, lorsque je parcours ma liste chainée, je me retrouve avec un mailon supplémentaire...
Je ne sais aps d'où celà vient, pouvez vous jetter un oeil, svp?
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
33
34
35
36
37
38
39
40
41
42
43
44 type voisins = ^voisin; voisin = record info : integer; suiv : voisins; end; procedure init_voisins (var pinit : voisins); begin pinit:=nil; end; procedure ajout_voisins (var pinit : voisins ; pays : integer); var q, pc, pa : voisins; begin new(q); q^.info:=pays; if pinit=nil then begin q^.suiv:=nil; pinit:=q end else if pinit^.info>pays then begin q^.suiv:=pinit; pinit:=q end else begin pc:=nil; pa:=pinit; while (pa^.info<pays)and(pa^.suiv<>nil)do begin pc:=pa; pa:=pa^.suiv end; if pa^.info > pays then begin q^.suiv:=pc^.suiv; pc^.suiv:=q end else begin pa^.suiv:=q; q^.suiv:=nil end; end; end;
Partager