You are on page 1of 11

Adatszerkezetek

 Halmaz
 Tömb
 String
 Rekord
 Sor
 Verem
 Lista
Halmaz

 VAR H: SET OF BYTE (vagy CHAR);

 Elemek száma max. 256, (0-255 vagy #0-#255)


 Tárfoglalás: 256 bit, 32 bájt.
 Amelyik bit 1, az eleme a halmaznak,
pl. 1. 5. 12. 65. bit 1, akkor azok a számok elemei a halmaznak.
 Műveletek: + unió, * metszet, - komplementer, = egyenlőség, <> nem egyenlő, IN
tartalmazás, pl. 5 IN A igaz, ha 5 eleme a halmaznak.
Tömb

 Azonos elemek
 Sorszám alapján elérhető

 VAR T1: ARRAY[1..N] OF <alaptípus>;


 VAR T2: ARRAY[1..N,1..M] OF <alaptípus>;

 Az alaptípus lehet bármi!

 Elemek elérése: T1[4] := 13;


T2[21,45] := 245;
String

 Karakter típusú tömb


 VAR S: STRING[max_hossz];
 Ha nem adjuk meg a maximális hosszt, akkor az 255 karakter.
 Tárfoglalás: max_hossz + 1 bájt;
 A 0. bájt adja meg a string aktuális hosszát.

 Elérés: S := ′kiskutya′;
S[3] := ′a′;
Rekord
 Különböző típusú elemek

 TYPE TANULOTIP = RECORD


 NEV: STRING;
 EVFOLYAM: BYTE;
 ATLAG: REAL;
 END;
 VAR TANULO: TANULOTIP;

 Mezők elérése: TANULO.NEV := ′Kenocs Bela′


vagy a WITH minősítő utasítással.
Sor

 Az egymás után beírt adatokat a beírás sorrendjében vehetjük ki.


 FIFO – First In First Out
 Két alap utasítás van:
 IN: egy elemet betesz a sorba (Ha megtelt a sor hibaüzenetet kell adni)
 OUT: kiveszi a sor következő elemét (Ha a sor üres akkor is hibaüzenet)
Verem

 Az egymás után beírt adatokat a beírás sorrendjével ellentétesen vehetjük ki.


 LIFO – Last In First Out
 Két alap utasítás van:
 IN: egy elemet betesz a sorba (Ha megtelt a verem hibaüzenetet kell adni)
 OUT: kiveszi a sor következő elemét (Ha a verem
 üres akkor is hibaüzenet)
Lista

 A lista elemi adatszerkezet


 Az elemeket magukat nem, csak a rájuk mutató hivatkozásokat (pointer) gyűjti és
tárolja szekvenciálisan
 Magát a listát alkotó elemek a memóriában tetszőleges szétszórva
helyezkedhetnek el.
Mutatók (pointer)

Tegyük fel, hogy van egy Byte típusú


változónk amit S-nek neveztünk el és az
értéke 82. A memóriát a következő ábra
mutatja.
 Ha pointerrel mutatunk egy
memóriaterületre, az a
következő módon néz ki:

You might also like