[Free Pascal] Podstawy listy jednokierunkowej


(Legwan 90) #1

Witam!

Chciałbym prosić o pomoc te osoby, które znają się na programowaniu list jednokierunkowych i wskaźników w języku Free Pascal. Przede wszystkim chodzi mi o utworzenie listy, wprowadzenie do niej elementów,ich wypisanie, usunięcie elementu i zniszczenie całej listy. Z góry dzięki.


(Johny) #2

Poszukaj na Google,są to takie podstawy że znajdziesz przykładowe programy z listami,lista jednokierunkowa to struktura,gdzie każdy element zawiera wskażnik na następny element listy

type wsk = ^tablica

tablica = record

x,y,z : integer

następny : wsk

end;

elem : wsk

dołożenie nowego elementu

new(elem)

elem.x=1

elem.y=2

elem.z=3

elem:=elem.^nastepny

elem.^nastepny=elem

oczywiście musisz jeszcze utworzyć glowe - poczatkowy element listy i sprawdzić czy nastepny nie jest rozny od NIL

przy usuwaniu listy musisz użyć pomocniczej zmiennej

While (elem.^nastepny<>NIL)

p=.^elem

elem=elem.^nastepny

dispose§

end;

nie wolno usuwać bezpośrednio elem bo stracisz adresy następnych elementów listy