Lista 11
Zad. 1
#include <iostream>
#include <vector>
using namespace std;
class Kolejka
{
private:
int maksRozmiar,ikonca;
vector<int> wek;
int szczyt;
public:
Kolejka(int s) //konstruktor
{
maksRozmiar=s;
ikonca=-1;
wek.reserve(s); //ustawienie rozmiaru wektora z danymi
}
void wstaw(int j) //wstawia element na koncu
{
wek[++ikonca]=j; //zwiększa lkcz, wstawia element
}
void usun() //usuwa pierwszy el.
{
for(int i=0;i<ikonca;i++)
wek[i]=wek[i+1];
ikonca--;
}
int ile_el() // ilosc elementow
{
return ikonca+1;
}
bool jestPusta() //prawda, gdy kolejka jest pusta
{
return (ikonca==-1);
}
bool czyZawiera(int x) //prawda, gdy kolejka zawiera x
{
for(int i=0;i<=ikonca;i++)
if(wek[i]==x)return true;
return false;
}
void wypisz(){
for(int i=0;i<=ikonca;i++)
cout<<"\nNr "<<i+1<<" wartosc: "<<wek[i];
}
}; //koniec klasy kolejka
int main()
{
Kolejka ko(20);
ko.wstaw(3);
ko.wstaw(5);
ko.wstaw(7);
ko.wstaw(9);
cout<<"\nIlosc elementow w kolejce:"<<ko.ile_el();
ko.wypisz();
ko.usun(); // usuwa pierwszy element w kolejce
cout<<"\nPo usunieciu pierwszego el.\nIlosc elementow w kolejce:"<<ko.ile_el();
ko.wypisz();
cout<<"\nKolejka "<<((ko.czyZawiera(6)) ? "":"nie ")<<"zawiera liczby(e) 6";
cout<<"\nKolejka "<<((ko.czyZawiera(7)) ? "":"nie ")<<"zawiera liczby(e) 7";
cout<<"\nKolejka "<<((ko.jestPusta()) ? "":"nie ")<<"jest pusta";
while(!ko.jestPusta()){ko.usun();}
cout<<"\nKolejka "<<((ko.jestPusta()) ? "":"nie ")<<"jest pusta";
cout<<endl;
system("pause");
}