Mam problem z implementacją kolejki FIFO.
Prosiłbym o wskazanie błędów w moim kodzie:
#include <iostream>
using namespace std;
struct pelement
{
pelement *nast;
int w;
};
struct kolejka
{
pelement *pierwszy;
pelement *ostatni;
};
void init(kolejka* &k)
{
k->pierwszy=NULL;
k->ostatni=NULL;
}
bool empty(kolejka *k)
{
if(k->pierwszy == NULL)
return true;
return false;
}
void insert(kolejka* &k, int x)
{
pelement *nowy;
nowy = new pelement;
nowy->w=x;
if(empty(k))
{
k->ostatni=nowy;
nowy->nast=NULL;
k->pierwszy=nowy;
}
else
{
(k->ostatni)->nast=nowy;
k->ostatni=nowy;
}
}
int pop(kolejka* &k)
{
int x;
x=(k->pierwszy)->w;
k->pierwszy=(k->pierwszy)->nast;
return x;
}
int main()
{
kolejka *k1;
init(k1);
insert(k1,3);
insert(k1,2);
cout<< pop(k1) <<endl;
return 0;
}