[pascal] lista jednokierunkowa

0

Czy ktoś jest wstanie przerobić listę jednokierunkową by dodając nowe elementy były posortowane przez wstawianie, bez użycia wartownika? Z góry dziękuję

kod programu: http://pastebin.4programmers.net/4067

albo posiada taką implementacje listy.

0

Podczas wstawiania wykonuje się autosortowanie, nie sortowanie przez wstawianie. A implementacje masz tu:

procedure Dolisty1(var element:integer; var skladnik_biezacy:wskaznik_listy1);
var
  poprzedni_skladnik, nastepny_skladnik, tmp:wskaznik_listy1;
begin
  new(tmp);
  tmp^.dane := element;
  tmp^.wskaznik := nil;
  poprzedni_skladnik:=nil;
  nastepny_skladnik:=skladnik_biezacy;
  if nastepny_skladnik = nil then
    begin
      skladnik_biezacy := tmp;
      exit;
    end;
  while nastepny_skladnik <> nil do
    begin
      if nastepny_skladnik^.dane < element then
        begin
          if poprzedni_skladnik = nil then
            begin
              skladnik_bierzacy := tmp;
              tmp^.wskaznik := nastepny_skladnik;
              exit;
            end
          else
            begin
              poprzedni_skladnik^.wskaznik := tmp;
              tmp^.wskaznik := nastepny_skladnik;
              exit;
            end;
        end;
      poprzedni_skladnik := nastepny_skladnik;
      nastepny_skladnik := nastepny_skladnik^.wskaznik;
    end;
  poprzedni_skladnik^.wskaznik := tmp;
end;

1 użytkowników online, w tym zalogowanych: 0, gości: 1