Code:
procedure bubbleSort;
var
tekuci, sledeci: ^elem;
kraj: boolean;
begin
kraj := false;
while not kraj do begin
kraj := true;
tekuci := glava;
sledeci := glava^.sledeci;
while (sledeci <> nil) do begin
if (comparetext(tekuci^.zap.prezime, sledeci^.zap.prezime) > 0) then begin
if (tekuci = glava) then glava := sledeci;
kraj := false;
tekuci^.sledeci := sledeci^.sledeci;
sledeci^.sledeci := tekuci;
end
else if (comparetext(tekuci^.zap.prezime, sledeci^.zap.prezime) = 0) then begin
if (comparetext(tekuci^.zap.ime, sledeci^.zap.ime) > 0) then begin
if (tekuci = glava) then glava := sledeci;
kraj := false;
tekuci^.sledeci := sledeci^.sledeci;
sledeci^.sledeci := tekuci;
end;
end;
tekuci := sledeci;
sledeci := tekuci^.sledeci;
end;
end;
end;
procedure bubbleSort;
var
tekuci, sledeci: ^elem;
kraj: boolean;
begin
kraj := false;
while not kraj do begin
kraj := true;
tekuci := glava;
sledeci := glava^.sledeci;
while (sledeci <> nil) do begin
if (comparetext(tekuci^.zap.prezime, sledeci^.zap.prezime) > 0) then begin
if (tekuci = glava) then glava := sledeci;
kraj := false;
tekuci^.sledeci := sledeci^.sledeci;
sledeci^.sledeci := tekuci;
end
else if (comparetext(tekuci^.zap.prezime, sledeci^.zap.prezime) = 0) then begin
if (comparetext(tekuci^.zap.ime, sledeci^.zap.ime) > 0) then begin
if (tekuci = glava) then glava := sledeci;
kraj := false;
tekuci^.sledeci := sledeci^.sledeci;
sledeci^.sledeci := tekuci;
end;
end;
tekuci := sledeci;
sledeci := tekuci^.sledeci;
end;
end;
end;