BPC-ALD - Skripta_rev2019_2
Níže je uveden pouze náhled materiálu. Kliknutím na tlačítko 'Stáhnout soubor' stáhnete kompletní formátovaný materiál ve formátu PDF.
2.1.1.2 Seznam Seznam je lineární dynamická datová struktura. Přívlastek dynamická zde vyjadřuje skutečnost,
že je budován postupně, paměť pro něj není na rozdíl od pole přidělena najednou, ale je
alokována samostatně pro každý ukládaný datový prvek. Tím na rozdíl od pole není na začátku
zapotřebí stanovit počet prvků, které budou do seznamu ukládány. A protože je paměť pro
každý ukládaný prvek přidělována samostatně, nejsou na rozdíl od pole prvky v paměti uloženy
za sebou, ale víceméně nahodile na různých místech. Tím ovšem ztrácíme základní výhodu pole
plynoucí z uložení prvků v paměti za sebou a tou je možnost přejít k dalšímu prvku v poli
prostým zvýšením hodnoty indexu. Abychom i v seznamu mohli přejít k následujícímu prvku,
ukládáme spolu s každým prvkem ještě ukazatel na místo v paměti, kde je uložená následující
prvek. Této dvojici prvek + ukazatel v seznamu říkáme uzel. Připomeňme, že pojem prvek zde
používáme v širším významu, tedy může to být jedna hodnota nebo i strukturovaný typ (více
hodnot). Abychom mohli se seznamem vůbec pracovat, musíme si navíc někde uschovat
ukazatel na první uzel v seznamu.
− 12 −
Termín ukazatel je používán v programovacích jazycích pro označení proměnné, do které
ukládáme adresu nějakého místa v paměti. U seznamu máme ukazatel na první uzel v seznamu,
což je adresa prvního uzlu seznamu v paměti, a každý uzel obsahuje ukazatel na následující
uzel, tedy adresu následujícího uzlu v paměti.