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 << "(lALG2 112 Rozdział 5. Struktury danych 112 Rozdział 5. Struktury danych //rekord informacyjny listyALG2 122 Rozdział 5. Struktury danych Czerniak zarabia 3000zl Wynik usunięcia rekordu pracownika zaALG2 142 Rozdział 5. Struktury danych a ż do momentu znalezienia właściwego dlań miejsca. PopatrzmyALG2 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 metodET2 132 Rozdział 8. Ceny usług turystycznych poniżej kojarzą się z usługami niskiej jakości. SzerokALG2 22 Rozdział 1. Zanim wystartujemy programowania nic znikły bynajmniej z horyzontu: Dijkstra, HALG2 32 Rozdział 2. Rekurencja Wyżej podaliśmy warunki pozytywnego zakończenie programu. W przypadkALG2 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 nuALG2 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 tALG 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-kierunkALG0 100 Rozdział 5. Struktury danyi z tych przypadków w istniejącej liście trzeba znaleźć miejsceALG4 104 Rozdział 5, Struktury danych dla danego obiektu wykonanie na sobie operacji „dekrementacjiALG6 106 Rozdziała. Strukturydanjt 5.1 będzie ich fuzją. Rekurencyjny zapis tego procesu jest bardzwięcej podobnych podstron