Académique Documents
Professionnel Documents
Culture Documents
المرحلة :الثانية
المادة :هياكل بيانات
Lab6:(Queues)
Write a program in C++ to implement Queue .
#include <iostream>
#include <stdlib.h>
#include <dos.h>
using namespace std;
////////////////////////////////////////////////
#define max 6
struct queuest
{
int QueueA[max];
int front;
int back;
};
class queue2
///////////
{
public:
int dequeue(queuest *q);
void enqueue(queuest *q,int z);
int full(queuest *q);
int empty(queuest *q);
void initialize(queuest *q);
};
//////////////////////////////////////////////////
int main()
{
queuest q;
queue2 my0bj;
my0bj.initialize(&q);
for(int i=0;i<max;i++)
{
my0bj.enqueue(&q,i);
cout<<my0bj.dequeue(&q)<<endl;
};
cout<<"/////////////////////////////////////////"<<endl;
return 0;
}
//////////////////////////////////////
void queue2::initialize(queuest *q)
{
q->front=-1;
q->back=-1;
}
/////////////////////////////////////
int queue2::empty(queuest *q)
{
if(q->front==-1)
return(1);
else
return(0);
}
////////////////////////////////////
int queue2::full(queuest *q)
{
if(q->back==max)
return(1);
else
return(0);
}
////////////////////////////////////
void queue2::enqueue(queuest *q, int x)
{
if(full(q))
{
cout<<"Queue is full...";
exit(0);
}
q->back++;
q->QueueA[q->back]=x;
if(q->front==-1)
q->front++;
}
/////////////////////////////////////
int queue2::dequeue(queuest *q)
{
int z;
if (empty(q))
{
cout<<"Queue is full...";
exit(0);
}
z=q->QueueA[q->front];
if(q->back==q->front)
initialize(q);
else
q->front++;
return(z);
}
/////////////////////////////////////