تطبيقات | تركيب البيانات وتصميم الخوارزميات ... الجزء رقم 2
QUEUES
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
QUEUES
#include <iostream>
using namespace std;
#define MAX 5 // MAXIMUM CONTENTS IN QUEUE
class queue
{
private:
int t[MAX];
int al; // Addition End
int dl; // Deletion End
public:
queue()
{
dl=-1;
al=-1;
}
void del()
{
int tmp;
if(dl==-1)
{
cout<<"Queue is Empty";
}
else
{
for(int j=0;j<=al;j++)
{
if((j+1)<=al)
{
tmp=t[j+1];
t[j]=tmp;
}
else
{
al--;
if(al==-1)
dl=-1;
else
dl=0;
}
}
}
}
void add(int item)
{
if(dl==-1 && al==-1)
{
dl++;
al++;
}
else
{
al++;
if(al==MAX)
{
cout<<"Queue is Full\n";
al--;
return;
}
}
t[al]=item;
}
void display()
{
if(dl!=-1)
{
for(int iter=0 ; iter<=al ; iter++)
cout<<t[iter]<<" ";
}
else
cout<<"EMPTY";
}
};
int main()
{
queue a;
int data[5]={32,23,45,99,24};
cout<<"Queue before adding Elements: ";
a.display();
cout<<endl<<endl;
for(int iter = 0 ; iter < 5 ; iter++)
{
a.add(data[iter]);
cout<<"Addition Number : "<<(iter+1)<<" : ";
a.display();
cout<<endl;
}
cout<<endl;
cout<<"Queue after adding Elements: ";
a.display();
cout<<endl<<endl;
for(iter=0 ; iter < 5 ; iter++)
{
a.del();
cout<<"Deletion Number : "<<(iter+1)<<" : ";
a.display();
cout<<endl;
}
return 0;
using namespace std;
#define MAX 5 // MAXIMUM CONTENTS IN QUEUE
class queue
{
private:
int t[MAX];
int al; // Addition End
int dl; // Deletion End
public:
queue()
{
dl=-1;
al=-1;
}
void del()
{
int tmp;
if(dl==-1)
{
cout<<"Queue is Empty";
}
else
{
for(int j=0;j<=al;j++)
{
if((j+1)<=al)
{
tmp=t[j+1];
t[j]=tmp;
}
else
{
al--;
if(al==-1)
dl=-1;
else
dl=0;
}
}
}
}
void add(int item)
{
if(dl==-1 && al==-1)
{
dl++;
al++;
}
else
{
al++;
if(al==MAX)
{
cout<<"Queue is Full\n";
al--;
return;
}
}
t[al]=item;
}
void display()
{
if(dl!=-1)
{
for(int iter=0 ; iter<=al ; iter++)
cout<<t[iter]<<" ";
}
else
cout<<"EMPTY";
}
};
int main()
{
queue a;
int data[5]={32,23,45,99,24};
cout<<"Queue before adding Elements: ";
a.display();
cout<<endl<<endl;
for(int iter = 0 ; iter < 5 ; iter++)
{
a.add(data[iter]);
cout<<"Addition Number : "<<(iter+1)<<" : ";
a.display();
cout<<endl;
}
cout<<endl;
cout<<"Queue after adding Elements: ";
a.display();
cout<<endl<<endl;
for(iter=0 ; iter < 5 ; iter++)
{
a.del();
cout<<"Deletion Number : "<<(iter+1)<<" : ";
a.display();
cout<<endl;
}
return 0;
المخرجات
OUTPUT
Queue before adding Elements: EMPTY Addition Number : 1 : 32 Addition Number : 2 : 32 23 Addition Number : 3 : 32 23 45 Addition Number : 4 : 32 23 45 99 Addition Number : 5 : 32 23 45 99 24 Queue after adding Elements: 32 23 45 99 24 Deletion Number : 1 : 23 45 99 24 Deletion Number : 2 : 45 99 24 Deletion Number : 3 : 99 24 Deletion Number : 4 : 24 Deletion Number : 5 : EMPTY
لاتنسى الاعجاب بصفحتنا وانضم الينا
❤||| لا تنسى الانضمام الى المدونة بالضغط هنا |||❤
اذا لديك أي سؤال، فلا تتردد في الاتصال بنا
.For any kind of question, please feel free to contact us.
HAMAD BASHIR
أسئلة عملية تركيب البيانات, اسئلة تطبيق عملي تركيب البيانات وتصميم الخوارزميات, تركيب البيانات وتصميم الخوارزميات, تطبيق على LINKED LISTS, تطبيق على QUEUES, تطبيق على STACKS, تطبيقات | تركيب البيانات وتصميم الخوارزميات ... الجزء رقم 2, تطبيقات عملية تركيب البيانات وتصميم الخوارزميات ... الجزء رقم 2, تطبيقات عملية مقرر تركيب البيانات وتصميم الخوارزميات, ملخص عملي تركيب بيانات وتصميم خوارزميات,
اطرح اي سؤال خاص بالموضوع في التعليقات