Digg StumbleUpon LinkedIn YouTube Flickr Facebook Twitter RSS Reset

C++: Création d’une ‘Queue’ générique


{filelink=15767}

 
#include <iostream>
using namespace std;
 
#define SIZE 100
 
template <class T> class Type_Queue {
  T queue[SIZE];
  int tete, cqueue;
public:
  Type_Queue() {
     tete = 0;
	 cqueue = 0;
  }
  void q(T nombre);
  T deq();
};
 
template <class T> void Type_Queue<T>::q(T nombre)
{
  if(cqueue+1==tete || (cqueue+1==SIZE && !tete)) {
    cout << "La Queue est pleine.";
    return;
  }
  cqueue++;
  if(cqueue==SIZE)
     cqueue = 0;
  queue[cqueue] = nombre;
}
 
template <class T> T Type_Queue<T>::deq()
{
  if(tete == cqueue) {
    cout << "La Queue est vide.";
    return 0;
  }
  tete++;
  if(tete==SIZE)
     tete = 0;
  return queue[tete];
}
 
int main()
{
  Type_Queue<int> queue1;
  Type_Queue<char> queue2;
  int i;
 
  for(i=1; i <=10; i++) {
    queue1.q(i);
    queue2.q(i-1+'a');
  }
 
  for(i=1; i <=10; i++) {
    cout << "Queue 1: " << queue1.deq() << endl;
    cout << "Queue 2: " << queue2.deq() << endl;
  }
 
  return 0;
}

No comments yet.

Leave a Comment