[ SuPeR_MaSteR @ 27.02.2010. 17:11 ] @
Ako može neko da mi pomogne oko sortiranja jednostruko spregnute liste (BubbleSort). Mislim da moj kod pogrešno ažurira pokazivač na početak liste.

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;