Tablica (informatyka)

Z Wikipedii, wolnej encyklopedii

Tablicakontener uporządkowanych danych[1] zazwyczaj takiego samego typu[2][3], w którym poszczególne elementy dostępne są za pomocą kluczy (indeksu)[1][3]. Indeks najczęściej przyjmuje wartości numeryczne. Rozmiar tablicy jest albo ustalony z góry (tablice statyczne), albo może się zmieniać w trakcie wykonywania programu (tablice dynamiczne). Tablice jednowymiarowe mogą przechowywać inne tablice, dzięki czemu uzyskuje się tablice wielowymiarowe[1][4]. W tablicach wielowymiarowych poszczególne elementy są adresowane przez ciąg indeksów[3].

Praktycznie wszystkie języki programowania obsługują tablice – jedynie w niektórych językach funkcyjnych zamiast tablic używane są listy (choć tablice zwykle też są dostępne). W matematyce odpowiednikiem tablicy jednowymiarowej jest ciąg, a tablicy dwuwymiarowej – macierz.

Tablice w popularnych językach programowania[edytuj | edytuj kod]

Pascal[edytuj | edytuj kod]

Tablice w Pascalu są typem strukturalnym[5], będącym zbiorem elementów adresowanych typem prostym porządkowym[3].

{ jednowymiarowa tablica 16 liczb całkowitych indeksowana wartościami od 1 do 16 }
var tablica : array [1..16] of Integer;

C/C++[edytuj | edytuj kod]

Tablice w C/C++ są typem pochodnym[2] obiektów, które zajmują ciągły obszar pamięci[2]. Indeksowanie elementów zawsze zaczyna się od zera[2].

/* jednowymiarowa tablica 6 liczb całkowitych */
int tablica[6];

int tablica2[6][6]; //tablica dwuwymiarowa
int tablica3[7][7][7]; //tablica trójwymiarowa

Przy deklaracji wielkości tablicy użyte mogą zostać tylko liczby naturalne (bez zera).

C#[edytuj | edytuj kod]

Tablice w C# są obiektami[6]. Wyróżnia się tablice jednowymiarowe, wielowymiarowe i nieregularne (poszarpane) czyli tablice tablic[7]. Indeksowanie tablic zawsze zaczyna się od zera[7]. Dopuszczalne są tablice bezelementowe[8].

int[] tablica = new int[6]; // jednowymiarowa tablica 6 liczb całkowitych

int[,] tablica2 = new int[6,6]; //tablica dwuwymiarowa
int[,,] tablica3 = new int[7,7,7]; //tablica trójwymiarowa

// tablica nieregularna
int[][] tablicaX = new int[3][]; // jednowymiarowa tablica na trzy różne jednowymiarowe tablice

Java[edytuj | edytuj kod]

Tablice w Javie są obiektami[9]. Można zdefiniować tylko tablice jednowymiarowe[9]. Tablice wielowymiarowe można symulować przez definiowanie tablicy tablic[9]. Indeksowanie tablic zawsze zaczyna się od zera[9].

int[] tablica = new int[6]; // deklaracja tablicy liczb całkowitych z jednoczesną alokacją na 6 elementów

JavaScript[edytuj | edytuj kod]

W języku tym tablice tworzy się tak:

var tablica =[1, 2, 3];
var tablicaPusta=[];

lub

var tablica=new Array(1,2,3);
var tablicaPusta=new Array();

Tablice w JavaScripcie są dynamiczne, co oznacza, że nie trzeba deklarować ich wielkości. Tablica powiększa się automatycznie.

var tablica=[1,2,3];
tablica[4]=5;

jest równoważne

var tablica=[1,2,3,undefined,5];

Tablice nie są osobnym typem danych w języku JavaScript. Mają osobną składnie deklaracji, ale są to obiekty, których kluczami są indeksy (zamieniane na ciągi znaków). Obiekty te posiadają specjalną właściwość length. W nowej odsłonie języka (ES6/ES2015) tablice są także iteratorami.

Ruby[edytuj | edytuj kod]

Tablice w Ruby są obiektami i są dynamiczne[10].

tablica = [1, 2, 3]

Zobacz też[edytuj | edytuj kod]

Przypisy[edytuj | edytuj kod]

  1. a b c Markowski, Rydzewski i Kruszyński 1989 ↓, s. 74.
  2. a b c d Grębosz 2000 ↓, s. 127.
  3. a b c d Marciniak 1991 ↓, s. 111.
  4. Grębosz 2000 ↓, s. 143.
  5. Marciniak 1991 ↓, s. 110.
  6. Tablice jako obiekty (Przewodnik programowania w języku C#), msdn.microsoft.com [dostęp 2016-07-12].
  7. a b Tablice (Przewodnik programowania w języku C#) [dostęp 2016-07-12].
  8. Array.Empty<T> Method (), msdn.microsoft.com [dostęp 2016-07-12] (ang.).
  9. a b c d Arrays (The Java™ Tutorials > Learning the Java Language > Language Basics), docs.oracle.com [dostęp 2016-07-13] (ang.).
  10. Dokumentacja Ruby 2.3.3. [dostęp 2019-01-12]. (ang.).

Bibliografia[edytuj | edytuj kod]