Tabela (računalništvo)

Iz Wikipedije, proste enciklopedije
Skoči na: navigacija, iskanje
Slikovni prikaz enorazsežne tabele
Večrazsežna tabela

Tabela (tudi polje ali vektor, angleško array) je sestavljena podatkovna struktura. Značilnost tabele je, da vsebuje več elementov istega tipa (v tolmačenih jezikih (PHP, JS) lahko tudi različnega), ki jih lahko dosegamo s pomočjo indeksa, ki si ga lahko predstavljamo kot zaporedno številko določenega elementa.

Enorazsežno tabelo si lahko predstavljamo kot skupek podatkov, ki si sledijo v nekakšni verigi ali nizu. Vsak podatek ima svoje »ime« oziroma indeks. Večrazsežno tabelo si najlažje predstavljamo v obliki tabele, npr. pri dvorazsežnem polju imamo določeno število stolpcev in določeno število vrstic. Količina razsežnosti ni omejena, lahko jih imamo poljubno veliko. To seveda velja, če imamo dovolj pomnilnika v računalniku.

Do podatkov dostopamo tako, da določimo posamezne indekse za razsežnosti, ki jih ima polje npr. 1,2,5 za trirazsežno polje.

Primeri definicij in uporab polj v različnih programskih jezikih:

 int p[10];      /*  enorazsežna tabela z desetimi celimi števili */
 float p[10][10];  /* dvorazsežna tabela s stotimi realnimi števili */

V C-ju se indeksi po navadi začnejo šteti z 0.

p1 : array [1...10] of integer;      { enorazsežna tabela }
p2 : array [1...10, 1...10] of real;  { dvorazsežna tabela }

Uporaba tabel[uredi | uredi kodo]

Največkrat uporabimo tabelo takrat, kadar moramo shraniti večjo količino podatkov v spremenljivke. Namesto, da bi deklarirali vsako spremenljivko posebej, raje uporabimo tabelo. Celotno deklaracijo opravimo zelo hitro (po navadi ena vrstica kode), dostop do posameznih podatkov je pa tudi preprost.

/* primer polnjenja tabele v programskem jeziku C */
int i, polje[10];
for (i=0; i<10; i++)
  polje[i]=5;

Kadar imamo večrazsežne tabele, uporabimo gnezdene zanke.

/* primer polnjenja 2-d polja v programskem jeziku C */ 
int i,j, polje[10][10];
for(i=0;i<10;i++)
{
 for (j=0;j<10;j++)
    polje[i][j]=5; 
}
/* primer polnjenja 2-d polja v programskem jeziku Pascal */
var
 i,j: integer;
 polje: array[1...10,1...10] of integer;
begin
 for i:=0 to 10 do
  for j:=0 to 10 do
   polje[i,j]:=5;
/* primer polnjenja 2-d polja v programskem jeziku PHP */ 
$polje=array_fill(0,10, array_fill(0,10,5));