Witam, chciałbym się zapytać w jak można zrobić listę jednokierunkową, która jest samo organizująca?
Elementy listy to litery alfabetu np. A, C, D. Jak dodam nowy element powiedzmy B to lista będzie ułożona zgodnie z kolejnością alfabetu.
program lista;
type
pElement = ^TElement;
TElement = record
litera:char;
next:pElement;
end;
{PROCEDURY DO LISTY}
procedure wyswietl_liste(p:pElement);
begin
while p <> nil do
begin
writeln(p^.litera);
p := p^.next;
end;
end;
procedure dodaj_na_poczatek(var glowa:pElement; dane:char);
var
p:pElement;
begin
new(p);
p^.litera := dane;
p^.next := glowa;
glowa := p;
end;
{GLOWNY PROGRAM}
var
alfabet:pElement;
begin
alfabet := nil;
dodaj_na_poczatek(alfabet, 'a');
dodaj_na_poczatek(alfabet, 'd');
dodaj_na_poczatek(alfabet, 'c');
dodaj_na_poczatek(alfabet, 'b');
wyswietl_liste(alfabet);
readln;
end.
Co należy dopisać w procedurze wyświetlania? Jakiś warunek?