Vous êtes sur la page 1sur 6

‫االسم ‪ :‬فيصل زيد حامد النعيمي‬

‫المرحلة ‪ :‬الثانية‬
‫المادة ‪ :‬هياكل بيانات‬
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);
}
/////////////////////////////////////

Vous aimerez peut-être aussi