
Ordenamiento listas doblemente enlazadas
Publicado por Martín (2 intervenciones) el 16/03/2015 02:06:05
Buenas! Ando teniendo un problema para insertar datos ordenados en una lista doblemente enlazada,
para números menores o iguales al primero de todos ingresado, anda perfecto, pero cuando quiero ingresar un número mayor al primero ingresado, me tira exit code = 216
Acá dejo el código, si lo pueden corregir o darme un código para hacerlo más eficiente, genial.
Saludos!
para números menores o iguales al primero de todos ingresado, anda perfecto, pero cuando quiero ingresar un número mayor al primero ingresado, me tira exit code = 216
Acá dejo el código, si lo pueden corregir o darme un código para hacerlo más eficiente, genial.
Saludos!
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
procedure insertarOrdenado(var LD: ListaD; e: integer);
var
paux, pc, nuevo: ListaD;
begin
new(nuevo);
nuevo^.dato:= e;
pc:= LD;
paux:= nil;
while (pc<>nil) and (pc^.dato<e) do begin
paux:= pc;
pc:= pc^.psig;
end;
if (LD=nil) or (pc^.pant=nil) then begin
nuevo^.pant:= nil;
nuevo^.psig:= LD;
if (LD<>nil) then LD^.pant:= nuevo;
LD:= nuevo;
end
else
begin
nuevo^.psig:= pc;
if (pc<>nil) then pc^.pant:= nuevo;
paux^.psig:= nuevo;
nuevo^.pant:= paux;
end;
end;
Valora esta pregunta


0