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;
}
Offline