ALGORYTMY I STRUKTURY DANYCH - ćwiczenia II rok INFORMATYKA studia stacjonarne I stopnia rok akad. 2007/2008 semestr zimowy
Ćwiczenie 10 - program definiujący klasę do tworzenia stosu
tinclude <iostream>
#include <vector> using namespace std; class StosX {private: int maksRozmiar; vector<double> wekStosu; int szczyt; public:
StosX(int s)imaksRozmiar(s), szczyt(-1) //konstruktor
{wekStosu.reserve(maksRozmiar); //ustawienie rozmiaru wektora z danymi
)
void poloz(double j) {wekStosu[++szczyt] = j;
}
double zdejmij()
{return wekStosu[szczyt—]; )
//kładzie element na szczycie
//zwiększa szczyt, wstawia element
//pobiera element ze szczytu //zmniejsza szczyt
double sprawdz_szczyt() //zwraca element na szczycie
{return wekStosu[szczyt];
bool jestPustyO //prawda, gdy stos jest pusty
{return (szczyt == -1);
bool jestPelny() //prawda, gdy stos jest wypełniony
{return (szczyt == maksRozmiar-1);
}; // koniec klasy StosX /////////////////// int main()
StosX stosik(lO); //tworzenie stosu o rozmiarze 10
stosik.poloz(1.1); //układanie elementów na stosie
stosik.poloz(1.6);
stosik.poloz(2.2);
stosik.poloz(2.6);
stosik.poloz(3.1);
stosik.poloz(3.3);
cout<<"Na szczycie jest "«stosik. sprawdz_szczyt () «endl; if (stosik.jestPelny()==true) cout<<"Stosik jest pełny"<<endl; else cout<<"Stosik nie jest pełny"<<endl;;
while (! stosik.jestPusty()) //dopóki stos nie jest pusty
{ //usuwamy elementy
double liczba=stosik.zdejmij(); cout<<liczba<<"
cout«endl;
if (stosik.jestPusty()==true) cout<<"Stosik jest pusty"<<endl; else cout<<"Stosik nie jest pusty"<<endl;; return 0;
}//koniec funkcji main()