Witam wszystkich, muszę stworzyć kolejkę, do przechowywania int'ów, i przygotować funkcje:
sprawdzania, czy kolejka jest pusta;
sprawdzania, czy kolejka jest pełna;
dodawania elementu do kolejki;
usuwania elementu z kolejki;
sprawdzania liczby elementów kolejki;
niszczenia kolejki.
O ile się nie mylę kolejka jest bardzo podobna do stosu, mam kod na stos, który ma wszystkie te funkcje (wypisuje wyraz wspak) ale nie do końca wiem jak go przerobić na kolejkę
powinienem w inny sposób dodawać i odejmować, lecz jak ? Oraz w jaki sposób zweryfikować czy ten kod działa? Liczę na jakąś pomoc z Waszej strony
#include <iostream>
#include <cstring>
using namespace std;
struct kolejka
{
char T[100];
int rozmiar;
char wyraz;
};
bool czyPusta(kolejka K)
{
if(K.rozmiar == 0)
return true;
else
return false;
}
bool czyPelna(kolejka K)
{
if(K.rozmiar == 100)
return true;
else
return false;
}
void dodaj(char x, kolejka &K)
{
if(czyPelna(K) == false)
{
K.T[K.rozmiar] = x;
++K.rozmiar;
}
}
char zdejmij(kolejka &K)
{
if(czyPusta(K) == false)
{
--K.rozmiar;
return K.T[K.rozmiar];
}
else
return '*';
}
int rozmiar(kolejka K)
{
return K.rozmiar;
}
void zniszcz(kolejka K)
{
K.rozmiar = 0;
}
int main()
{
kolejka K;
K.rozmiar = 0;
char slowo[100];
cin >> slowo;
for(int i = 0; i <strlen(slowo); i++)
{
dodaj(slowo[i],K);
}
while(czyPusta(K)== false)
cout << zdejmij(K);
return 0;
}