Je n'arrive pas à comprendre une question. La question demande d'abord d'écrire une classe C++ pour représenter une pile d'entiers, et c'est tant fait. Voici mes prototypes:File d'attente qui utilise une pile
class Stack{
private:
int top;
int item[100];
public:
Stack() {top = -1;}
~Stack();
void push(int x) {item[++top] = x;}
int pop() {return item[top--];}
int empty(int top);
};
La deuxième partie de la question dit « Utilisation de la pile à des fins de stockage, écrire une classe C++ pour représenter une file d'attente d'entiers ». Ma file d'attente est la suivante:
class Queue{
private:
int * data;
int beginning, end, itemCount;
public:
Queue(int maxSize = 100);
Queue(Queue &OtherQueue);
~Queue();
void enqueue(int x);
void dequeue();
int amount();
};
Je ne comprends pas comment je dois utiliser une pile pour le stockage d'une file d'attente.
La question semble étrange. Une pile est une structure LIFO (dernier entré, premier sorti) alors qu'une file d'attente est normalement une structure FIFO (premier entré, premier sorti). Sauf si vous devez implémenter une file d'attente LIFO, il est difficile d'utiliser une pile. –
Related: http://stackoverflow.com/questions/688276/implement-stack-using-two-queues –
Je ne pense pas que vous vouliez avoir votre constructeur Stack comme vous l'avez. Peut-être que vous vouliez dire "Stack() {top = -1;}"? – Jonathan