Tömb
A HupWiki-ből...
Avagy mátrix vagy dimenzió. Angolul: array.
A 0 dimenziós tömbnek nincs kiterjedése, egy elemet foglal magába. Ilyenek a skalárok.
Az 1 dimenziós tömbnek (avagy vektornak) egy irányú kiterjedése van. Egy index jelzi a tömb mely elemét kezeljük.
A 2 dimenziós tömb, két irányú kiterjedéssel bír és 2 indexszel jelezhetjük mely elemmel dolgozunk.
Az n dimenziós tömbnek... (n természetes szám, 0,1,2,...)
A tömbök a memóriában szekvenciálisan helyezkednek el. Tehát például egy két dimenziós tömb sorai egymás után következnek.
Példa C-ben:
tomb[5][8] = 15;
Ez a "tomb" tömb 6. sorának/oszlopának - nézőpont kérdése - 9. elemét egyenlővé teszi 15-el. Tudnillik a legtöbb programozási nyelvben a tömbök indexelése vagyis számozása 0-tól kezdődik, tehát a nulla az első elem indexe. A memóriában ez az elem, ha feltételezzük például, hogy a mátrix 10*10-es (pl. 10 sor, 10 oszlop - a maximális indexek C-ben 9 és 9), akkor az 5*10+8-adik helyen kezdődő memóriarekeszében foglal majd helyet.
Itt pl. két byte-os egy rekesz.
0. 1. 2. 3. 4. 5. 6. 7. 8. 9. oszlop
0. sor [XX|XX|XX|XX|XX|XX|XX|XX|XX|XX]
1. sor [XX|XX|XX|XX|XX|XX|XX|XX|XX|XX]
2. sor [XX|XX|XX|XX|XX|XX|XX|XX|XX|XX]
3. sor [XX|XX|XX|XX|XX|XX|XX|XX|XX|XX]
4. sor [XX|XX|XX|XX|XX|XX|XX|XX|XX|XX]
5. sor [XX|XX|XX|XX|XX|XX|XX|XX|OO|EE]
6. sor [EE|EE|EE|EE|EE|EE|EE|EE|EE|EE]
7. sor [EE|EE|EE|EE|EE|EE|EE|EE|EE|EE]
8. sor [EE|EE|EE|EE|EE|EE|EE|EE|EE|EE]
9. sor [EE|EE|EE|EE|EE|EE|EE|EE|EE|EE]
XX - átlépett rekeszek
OO - ide kerül a 15
EE - üres rekeszek
Összesen: 10 sor és 10 oszlop
Átlépett sorok: 5
Átlépett oszlopok: 5*10+8