5.Złożone typy danych takie jak tablica, struktura (rekord) oraz ich dynamiczne implementacje (wskaźnik). Dynamiczne liniowe str

5.Złożone typy danych takie jak tablica, struktura (rekord) oraz ich dynamiczne implementacje (wskaźnik) .
Dynamiczne liniowe struktury danych – stos i kolejka.

tablica
to kontener danych dostępnych, w którym poszczególne komórki dostępne są za pomocą kluczy, które najczęściej przyjmują wartości numeryczne. Rozmiar tablicy jest albo ustalony z góry (tablice statyczne), albo może się zmieniać w trakcie wykonywania programu (tablice dynamiczne)
int tablica[10];
     tablica[0]=10;
     tablica[9]=0;

Struktura/Rekord
jest typem zawierającym w sobie zmienne dowolnego typu (tzw. pola). Struktura umożliwia zapakowanie powiązanych ze sobą logicznie danych w jednym obszarze pamięci, który może być przesyłany jako jeden argument.
struct miasto {
    long ludnosc;
    char* rzeka;
    miasto(long ludnosc,char *rzeka): 
    ludnosc(ludnosc), rzeka(strdup(rzeka)) {}; /*konstruktor*/
    inline char* wez_rzeke() {return rzeka};
    ~miasto() {free( (void*)rzeka );} /*destruktor*/
};

Stos (ang. Stack)
liniowa struktura danych, w której dane dokładane są na wierzch stosu i z wierzchołka stosu są pobierane (bufor typu LIFO, Last In, First Out; ostatni na wejściu, pierwszy na wyjściu). Ideę stosu danych można zilustrować jako stos położonych jedna na drugiej książek – nowy egzemplarz kładzie się na wierzch stosu i z wierzchu stosu zdejmuje się kolejne egzemplarze. Elementy stosu poniżej wierzchołka stosu można wyłącznie obejrzeć, aby je ściągnąć, trzeba najpierw po kolei ściągnąć to, co jest nad nimi.

Kolejka (ang. queue)
liniowa struktura danych, w której nowe dane dopisywane są na końcu kolejki, a z początku kolejki pobierane są dane do dalszego przetwarzania (bufor typu FIFO, First In, First Out; pierwszy na wejściu, pierwszy na wyjściu). Kolejkę spotyka się przede wszystkim w sytuacjach związanych z różnego rodzaju obsługą zdarzeń. W szczególności w systemach operacyjnych ma zastosowanie kolejka priorytetowa, przydzielająca zasoby sprzętowe uruchomionym procesom. Specjalną modyfikacją kolejki jest kolejka priorytetowa – każda ze znajdujących się w niej danych dodatkowo ma przypisany priorytet, który modyfikuje kolejność późniejszego wykonania. Oznacza to, że pierwsze na wyjściu niekoniecznie pojawią się te dane, które w kolejce oczekują najdłużej, lecz te o największym priorytecie.

do uzupełnienienia: dynamiczne implementacje (wskaźnik) .

O ile nie zaznaczono inaczej, treść tej strony objęta jest licencją Creative Commons Attribution-ShareAlike 3.0 License