ALG2

ALG2



132 Rozdział 5. Struktury da

//"w" zostanie "załadowane" wartością zdjętą ze stosu if (szczyt>0)

(

w=t[—szczyt I; return (OK);

)else

return (STOS_PUSTY),-I

Od czasu do czasu może zajść potrzeba zbadania stanu stosu bez wykonywania na nim żadnych operacji. Użyteczna może być wówczas następująca funkcja:

template cclass TypPodsts int STOS<TypPodst>:: StanStosu()

II zwraca informację o stanie stosu switch(szczyt)

(

case 0    :return (STOS_PUSTY) ;

case DI.t)GOSC_MAX+l : return (STCS_PSLNY) ; default    :return (OK);

)

)

Jakie są inne możliwe sposoby zdefiniowania stosu? Nie powinno dla nikogo stanowić niespodzianki, żc logicznym następstwem użycia tablic są struktur)' dynamiczne, np. listy. Bezpośrednie wbudowanie listy do stosu, zamiast na przykład tablicy /, tak jak wyżej, byłoby jednakże nieefektywne - warto poświęcił odrobinę wolnego czasu i stworzyć osobną klasę od samego początku.

Chwilę uwagi należy jeszcze poświęcić wykorzystaniu stosu. Zasadniczą kwestią jest składnia użycia klasy szablonowej w funkcji main. Deklaracja stosu s, który ma posłużyć do przechowywania zmiennych typu np. char*, dokonuje się poprzez: STOS<char*> s - podobnie dzieje się w przypadku każdego innego typu danych:

stos.cpp

(łinclude "stos.h”

Oinclude <icstream.h>

char* tabl[3]=t"ala”,"ma","kota"); float tab2[3]=(3.14, 2.12,100);

void main()

(

// deklarujemy jeden stos do przechowywania tekstów: 3TOS<char*> sl;

II deklarujemy jeden stos do przechowywania liczb:

STOS<float> s2;

cout « "Odkładam na 1 stos: ";

for(int i=0; i<3;i i •)

t


Wyszukiwarka

Podobne podstrony:
ALG2 102___Rozdział 5. Struktury danych I ELEMENT *q=inf.głowa; if (pusta()) cout << "(l
ALG2 112 Rozdział 5. Struktury danych 112 Rozdział 5. Struktury danych //rekord informacyjny listy
ALG2 122 Rozdział 5. Struktury danych Czerniak zarabia 3000zl Wynik usunięcia rekordu pracownika za
ALG2 142 Rozdział 5. Struktury danych a ż do momentu znalezienia właściwego dlań miejsca. Popatrzmy
ALG2 152 Rozdział 5. Struktury danytl 5.; raturn oblicz(w->lcwy)+oblicz(w->prawy); case - :
ALG2 162 Rozdział 5. Struktury danych c) pewien element listy, który odpowiada kryteriom poszukiwań
ALG 8 98 Rozdział 5. Struktury danych W następnych paragrafach zostaną przedstawione wszystkie metod
ET2 132 Rozdział 8. Ceny usług turystycznych poniżej kojarzą się z usługami niskiej jakości. Szerok
ALG2 22 Rozdział 1. Zanim wystartujemy programowania nic znikły bynajmniej z horyzontu: Dijkstra, H
ALG2 32 Rozdział 2. Rekurencja Wyżej podaliśmy warunki pozytywnego zakończenie programu. W przypadk
ALG2 42 Rozdział 2. Rekurencja 2. m.in. wartości zmiennych tego poziomu (tzw. kontekst). Co więcej,
ALG2 52 Rozdział 2. RekurenZad. 2-4Oto jedno z możliwych rozwiązań: trójkąty ,cpp double y) void nu
ALG2 52 Rozdział 3. Analiza sprawności algorytmów Rys. 3 -
ALG2 72 Rozdział 3. Analiza sprawności algorytmówn o) = i, i = A + O, A =    1. Po t
ALG 4 94 Rozdział 5. Struktury danych5.1. Listy jednokierunkowe Lista jednokierunkowa jest oszczędną
ALG 6 96 Rozdział 5. Struktury danych Rys. 5 - 3. FCOOh FCI4h FFEEh Przykład listy jedno-kierunk
ALG0 100 Rozdział 5. Struktury danyi z tych przypadków w istniejącej liście trzeba znaleźć miejsce
ALG4 104 Rozdział 5, Struktury danych dla danego obiektu wykonanie na sobie operacji „dekrementacji
ALG6 106 Rozdziała. Strukturydanjt 5.1 będzie ich fuzją. Rekurencyjny zapis tego procesu jest bardz

więcej podobnych podstron