Przeczytaj
Tablice – wprowadzenie
TabliceTablice są kontenerami służącymi do przechowywania dużej ilości danych tego samego typu. W tym e‑materiale zajmiemy się tablicami statycznymitablicami statycznymi.
Podczas tworzenia tablicy statycznej należy podać jej rozmiar; nie można go później zmienić na mniejszy ani większy. Niezbędne jest również określenie, jakiego typu dane będą przechowywane w tablicy. Podobnie jak to się dzieje w przypadku rozmiaru, typ danych nie może zostać zmieniony.
Gdy tworzymy tablicę, podajemy jej nazwę, rozmiar oraz wskazujemy typ danych, które chcemy przechowywać. Definicja tablicy zapisana w pseudokodzie ma następującą postać:
W przedstawionym przykładzie tablica nosi nazwę zbior
, ma rozmiar równy 5 oraz będzie służyć do przechowywania liczb całkowitych. Określenie ma rozmiar równy 5
oznacza, że w tablicy jest miejsce na zapisanie pięciu wartości.
Każdy prostokąt na rysunku wyżej reprezentuje jeden element w tablicy zbior
. Tablica nie zawiera jeszcze żadnych danych. Przyjmijmy, że chcielibyśmy w niej zapisać liczbę 10. Jak to zrobić?
Każde miejsce w tablicy ma własny numer, nazywany indeksem. Indeksy są kolejnymi liczbami naturalnymi. W wielu językach programowania (np. C++ lub Java) indeksowanie miejsc w tablicy zaczyna się od zera.
Jeżeli zapisujemy algorytm w postaci pseudokodu, mamy dowolność co do wyboru sposobu numerowania elementów tablic (nie istnieje określająca to jednoznacznie reguła). Możemy rozpoczynać indeksowanie od liczby 0 lub 1. My będziemy indeksować tablice zaczynając od 0; poszczególnym przechowywanym elementom odpowiadają zatem następujące indeksy:
Zapiszemy liczbę 10 na pierwszym wolnym miejscu. Tablica jest pusta, więc będzie to element o indeksie równym 0. Żeby zapisać wartość w tablicy, musimy odwołać się do jej nazwy (w tym przypadku jest nią zbior
), a następnie wewnątrz pary nawiasów kwadratowych podać numer pola, do którego chcemy się dostać. Na końcu wpisujemy znak równości oraz liczbę, którą chcemy umieścić wybranym miejscu tablicy:
Po wykonaniu polecenia zawartość tablicy będzie wyglądała następująco:
Umieśćmy w tablicy jeszcze kilka liczb:
W jaki sposób z kolei odczytywać wartości zapisane już w tablicy? Należy podać nazwę tablicy oraz indeks elementu, który chcemy odczytać. A zatem wydanie polecenia:
spowoduje wypisanie liczby 23.
Oczywiście dane w tablicy można nadpisywać. Jeżeli na miejscu o indeksie 2 nie chcemy przechowywać już liczby 23, lecz 15, postępujemy tak samo, jakby miejsce to było puste:
Poruszanie się po tablicy
Wiemy już, czym są tablice. Teraz zastanówmy się, w jaki sposób można się po nich poruszać, czyli przechodzić od jednego elementu do innego.
Do przeglądania i przetwarzania tablic zazwyczaj wykorzystywana jest pętla licznikowa dla
. Jeżeli chcemy odczytać lub zapisać elementy zbioru o znanym rozmiarze, taka pętla sprawdzi się idealnie. Ponieważ liczba elementów tablicy statycznej jest z góry określona, a indeksy są kolejnymi liczbami naturalnymi, dzięki pętli dla
możemy z łatwością przechodzić od jednego elementu zbioru do innego.
Najprostszym przykładem takiej operacji jest wypisanie wszystkich liczb znajdujących się w tablicy.
Używając pętli dla
musimy pamiętać o dwóch ważnych rzeczach. Po pierwsze, indeksy tablic w pseudokodzie mogą zaczynać się zarówno od zera, jak i jedynki. My zadecydowaliśmy, że tablica będzie indeksowana od wartości 0.
Drugie zagadnienie jest związane z pierwszym. Skoro indeksy zaczynają się od zera, ostatni element tablicy nie jest oznaczony numerem takim jak rozmiar tablicy, lecz mniejszym od tej wartości o 1. Jeżeli spróbujemy dostać się do elementu o nieistniejącym indeksie (większym niż długość tablicy minus 1), działanie programu zakończy się komunikatem o błędzie.
Słownik
fragment ciągu składający się z elementów ułożonych bezpośrednio po sobie, w kolejności rosnącej, czyli w ten sposób, że każdy kolejny element jest większy od poprzedniego
ciąg powstały przez wybranie określonej liczby elementów z ciągu występujących bezpośrednio po sobie
kontener (struktura danych) służący do przechowywania danych (wartości) tego samego typu; każdy element ma określony indeks (kolejny numer); w pamięci komputera elementy tablicy są ułożone kolejno jeden obok drugiego
tablica, której rozmiar jest definiowany w programie; rozmiar ten musi więc być podany jako wartość liczbowa, nazwa stałej (const) lub jako wyrażenie zbudowane z wartości liczbowych i stałych