Zaimplementuj kolejke z uzyciem tablicy zamiast dynamicznej struktury danych.
#include <iostream> #include <cstdlib>
using namespace std;
struct kolejka { int tab[10]; int pocz; int rozmiar; };
void add(kolejka* &s, int x) { if (s == NULL) { s = new kolejka; s->pocz = 0; s->rozmiar = 0; } if (s->rozmiar == (sizeof (s->tab) / sizeof (int) - 1)) { cout << "Bład" << endl; } else { s->tab[s->pocz + s->rozmiar] = x; s->rozmiar++; } }
int next(kolejka* s) { if (s == NULL) { cout << "Blad!!" << endl; return 0; } int w = s->tab[s->pocz]; s->pocz++; s->rozmiar--; return w; }
//nie uruchamiać przed pierwszym zapisem
int firstEl(kolejka* s) { return s->tab[s->pocz]; }
//nie uruchamiać przed pierwszym zapisem
bool isEmpty(kolejka* s) { return s->rozmiar == 0; }
//nie uruchamiać przed pierwszym zapisem
void usun(kolejka* s) { delete s->tab; s->rozmiar = 0; s->pocz = 0; }
int main() { kolejka* e = NULL;
system("Pause"); return 0; }
|