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.
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.
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;
Zarejestruj się i dołącz do największej społeczności programistów w Polsce.
Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.