212 TIF

212 TIF



Tablice są bardzo użyteczną i powszechną strukturą danych. Są nieskomplikowane i zapewniają bardzo krótki czas dostępu. Mają jednak pewne ograniczenia. W szczególności mają stały rozmiar, więc zawsze trzeba się upewniać, że pozostajemy w ich granicach.

Tablica dynamiczna przypomina zwykłą tablicę, tyle tylko, że może dynamicznie zmieniać swój rozmiar. Jeśli wstawiamy element poza granicami tablicy, wówczas tablica automatycznie rośnie. Nie trzeba więc martwić się o to, czy indeks nie wykracza poza graniczną wartość, ani samodzielnie ponownie przydzielać pamięć dla tablicy. Tablica dynamiczne wszystko wykonuje sama.

Utworzyliśmy klasę tablic dynamicznych z dwóch klas. Pierwsza z nich, Drgbase, jest klasą roboczą. Zawiera wszystkie funkcje indeksujące, kopiujące i rozszerzające tablicę. Działa ona na wskaźnikach void, więc można jej używać ze wszystkimi typami. Oczywiście wskaźniki void nie zapewniają bezpieczeństwa pod względem zgodności typów, jest więc też druga klasa, Drg, tworzona z szablonu i będąca klasą pochodną klasy Drgbase. Dodaje do funkcji tablic dynamicznych interfejsy zapewniające zgodność typów.

Warto zwrócić uwagę na to, że wszystkie operacje są wykonywane w klasie Drgbase. Dzięki temu dodanie interfejsów tworzonych z szablonu tylko nieznacznie zwiększa kod. Wszystkie klasy zbudowane na szablonie używają wspólnego kodu z klasy podstawowej (zobacz wskazówkę 107.).

Zostało przeciążonych wiele operatorów klasy, aby jej użycie stało się bardziej naturalne. Na przykład podany fragment kodu z pliku exp.cpp znajdującego się na CD-ROM-ie dołączonym do książki, przechodzi przez dynamiczną tablicę znaków:

void BuildStack(Stack<char> &st, Drg <char>&drg)

{

char eh; drg = 0;

while(ch = *drg++)

{

st.Push(ch);

}

}

Następujący fragment, również z pliku exp.cpp, ustawia wartości wewnątrz dynamicznej tablicy:

Drg <char>drg;

char *pch;

int i = 0;

pch = sz;

while(drg[i] = *pch++) i++;


Wyszukiwarka

Podobne podstrony:
074 TIF Tablice są powszechnie używanymi strukturami danych. Są łatwe w tworzeniu i zapewniają bardz
Wstęp Najbardziej powszechne struktury danych do przechowywania treści pobranych ze stron WWW: •
ANSI C 5 DODATEK A PRZEWODNIK JĘZYKA C Struktury i tablice są obiektami złożonymi. Jeśli obiekt zł
DSCN4917 i POLITECHNIKA RZESZOWSKA - Wydział Detoottdwaa I InformaryWTablice Tablice są strukturami
skanuj0025 (68) krój ostrza poniżej luków przechodzących w główkę około 7 X 10 mm. Typ D2a (tablica
skanuj0008 (475) 7 Górniczy przemiennik częstotliwości VSD - 630 -1140/2.8 Tabliczki Tabliczki są pr
skanuj0025 (68) krój ostrza poniżej luków przechodzących w główkę około 7 X 10 mm. Typ D2a (tablica
11 970 firm i 7 963 gospodarstwa domowe. Wartości w tablicy 2 są uśrednione, niezależne od momentu w
Struktury danych. Proste typy danych: standardowe, okrojone, tablice, rekordy, rekordy z wariantami,
IMG950 (5) Struktura danych: •    sposób uporządkowania informacji w komputerze np. r

więcej podobnych podstron