Hi,
ich soll eine ADT Queue durch einen Stack realisiseren. Damit dies funktionieren kann, werden 2 Stacks benötigt.
Hier meine Klasse für den Stack:
Nach außen hin, soll sich die Queue ganz normal verhalten. Damit dies gegeben ist, hab ich die Klasse adtqueue angelegt:
Wie die einzelnen Methoden der Queue nun arbeiten müssen, habe ich schriftlich auf einen Zettel.
Ich weiß allerdings nicht genau, was in den private Teil und in die Mehtode "Create" hineingeschrieben werden muss..
Letztendlich muss da irgendwas stehen wie
ich soll eine ADT Queue durch einen Stack realisiseren. Damit dies funktionieren kann, werden 2 Stacks benötigt.
Hier meine Klasse für den Stack:
C++:
class adtstack{
private:
struct stack{
int A[100];
int Atop;
};
struct stack S;
public:
void CREATE(){
S.Atop = -1;
}
bool EMPTY(){
if (S.Atop == -1)
return true;
else
return false;
}
void PUSH(char x){
if (S.Atop == 100)
cerr << "overflow" << endl;
else {
S.Atop = S.Atop+1;
S.A[S.Atop] = x;
}
}
void POP(){
if (!EMPTY())
{
S.Atop = S.Atop-1;
return;
}
cerr << "underflow" << endl;
return;
}
int TOP(){
if (!EMPTY())
return S.A[S.Atop];
cerr << "underflow" << endl;
return -1;
}
};
Nach außen hin, soll sich die Queue ganz normal verhalten. Damit dies gegeben ist, hab ich die Klasse adtqueue angelegt:
C++:
class adtqueue{
private:
public:
void CREATE() // legt neue queue an
{
}
bool EMPTY() // sagt ob die Q leer ist
{
}
void ENQ(int x)//hängt eine neues Element in die queue
{
}
void DEQ() // löscht das erste Element der Queue
{
}
int FRONT()// liefert das erste Element der Queue
{
}
};
Wie die einzelnen Methoden der Queue nun arbeiten müssen, habe ich schriftlich auf einen Zettel.
Ich weiß allerdings nicht genau, was in den private Teil und in die Mehtode "Create" hineingeschrieben werden muss..
Letztendlich muss da irgendwas stehen wie
C++:
adtstack S1;
adtstack S2;
Zuletzt bearbeitet von einem Moderator: