wtorek, 26 lutego 2013

Tablice

Tablice to najprostsze kontenery danych, dostajemy się do nich przez podanie indeksu elementu
Istota tablic:

Oto jak je deklarujemy (przykład z int):
oto jak możemy je wypełnić:
 podczas deklaracji: po zadeklarowaniu: oraz jak się do nich odnosimy:
etc.

Ok, a może ktoś chce zapytać po co są te tablice? Po co wgl. przejmować się takim zapisem dla danych?

Wyobraźmy sobie aplikacje, która symuluje elektroniczny dziennik klasy (gimnazjum czy coś...) Teraz zobaczcie ten kod i zobaczcie, że jest on dużo bardziej funkcjonalny.

Plusy:
  • możemy zapytać użytkownika, i udzielić mu prawidłowej odpowiedzi
  • możemy przeszukiwać w pętlach daną wartość (to później)

Minusy:
  • tablice muszą mieć ściśle określoną ilość elementów
  • indeks tablicy nie zawsze mówi nam, jakiej wartości możemy się pod nią spodziewać
  • tablice przechowują dane jednego, i tego samego zadeklarowanego dla niej typu
A co z innymi rodzajami tablic? Co z tablicami 2D 3D 4D ...
Do tej pory opisywałem najtrywialniejsze z możliwych tablic - jednowymiarowe, jednak tematem koniecznym jest zapoznanie się z tablicą dwuwymiarową


Czym to się w zasadzie różni? Jedynie sposobem deklaracji i odwołania się do tablicy. To jak je wykorzystamy zależy od nas, czy będzie to tablica 3x3 do gry w kółko i krzyżyk, czy może będziemy pisać algorytm do rozmieszczenia statków (to chyba tablica 9x9? ;) )


Pominę tematykę Jagged Arrays (tablicy tablic / tablic zagnieżdżonych), ponieważ osobiście preferuję posługiwanie się listami, jeżeli jednak ktoś będzie nalegał to i o tym zrobię artykuł
Ciekawostka na koniec:
  • Wymiary tablic to sztuczne wyrażenie wytworzone na potrzebę ich obrazowania, tak naprawdę tablica w pamięci jest ulokowana ciągiem, przykład z debugger'a (początkujący nie muszą tego rozumieć, mogą jednak rzucić okiem na wynik w górnym oknie ignorując kod, górne okno przedstawia reprezentacje tablicy w pamięci PC).


Brak komentarzy:

Prześlij komentarz

Jeżeli nie chcesz skorzystać z konkretnego profilu to zaznacz "Nazwa / adres URL" (wystarczy podać nazwę), bądź "Anonimowy"