Total members 9950 | Gratitudes |It is currently Sat Feb 11, 2012 1:51 am Login / Join Codemiles


All times are UTC [ DST ]




Post new topic Reply to topic  Quick reply  [ 1 post ] 
Author Question
 Question subject: generic queue
PostPosted: Thu Nov 13, 2008 8:08 pm 
Offline
Beginner
User avatar

Joined: Sun May 25, 2008 5:34 pm
Posts: 95
Has thanked: 2 time
Have thanks: 1 time

Code:
#include <iostream>
using namespace std;

#define SIZE 100

template <class Qtype> class q_type {
  Qtype queue[SIZE];
  int head, tail;   
public:
  q_type() {
     head = tail = 0;
  }
  void q(Qtype num);
  Qtype deq(); 
};

template <class Qtype> void q_type<Qtype>::q(Qtype num)
{
  if(tail+1==head || (tail+1==SIZE && !head)) {
    cout << "Queue is full.\n";
    return;
  }
  tail++;
  if(tail==SIZE)
     tail = 0; // cycle around
  queue[tail] = num;
}

template <class Qtype> Qtype q_type<Qtype>::deq()
{
  if(head == tail) {
    cout << "Queue is empty.\n";
    return 0; 
  }
  head++;
  if(head==SIZE)
     head = 0;
  return queue[head];
}

int main()
{
  q_type<int> queue1;
  q_type<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 << "Dequeue 1: " << queue1.deq() << endl;
    cout << "Dequeue 2: " << queue2.deq() << endl;
  }

  return 0;
}


TOP
 Profile Send private message  
Reply with quote  
Post new topic Reply to topic Quick reply  [ 1 post ] 
Quick reply


  


 Similar topics
 Topic title   Forum   Author   Comments 
 Need help with generic listeners  Java  sd3245  3
 Generic Algorithm  C-C++  mileloader  0
 priority queue  C++ examples  mileloader  0
 Circular Queue  C-C++  AskBot  1
 Queue Header  C-C++  msi_333  0

All times are UTC [ DST ]


Users browsing similar posts

Users browsing this forum: No registered users and 1 guest



Jump to:  
Previous Question | Next Question 




Home
General Talks
Finished Projects
Code Library
Games
Tutorials

Java
C/C++
C-sharp
php
Script
JSP/Servlets
Ajax
ASP/ASP.net
Google SEO
Database
Communications
Phpbb3 styles
Photoshop tutorials
Flash tutorials
Find a job






Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
All copyrights reserved to codemiles.com 2007-2011
mileX v1.0 designed by codemiles team