البرنامج باختصار ..
البرنامج بدخل قيم او بيانات على queue و و بخدم منه حسب الاولوية من القيم الأكبر
البرنامج ماشي طبيعي بحالة كون نوع البيانات int
لكن لما بحول ل char or string بصير مشكلة !!!!
شوفيلي حل بسرعة ؟؟
#include <iostream>
#include <stdio.h>
#include <conio.h>
#include <string>
//------------------------------------------------------------------------------
//******************************************************************************
//------------------------------------------------------------------------------
template<class T>
class queue
{
public:
queue () ; //The Constructor
void queue_appende(T& item);
void serve(T& max_item);
T index_arr();
void print();
private:
T info ;
int count ;
T queue_arr[1000];
int maxqueue ;
};
template<class T>
queue<T>::queue()
{
count = 0 ;
maxqueue = 100;
}
template<class T>
void queue<T>::queue_appende(T& item)
{
textcolor(11);
if(count>=maxqueue)
cprintf("Error the queue is full\r\n");
else
{
queue_arr[count]=item;
// cprintf("you success in pushing\r\n");
count++;
}
// getch();
}
template<class T>
void queue<T>::serve (T& max_item)
{
if (count==0)
cout<<"queue is empty ";
else
{
cout<<"you serve the item : " <<max_item ;
for (int i=0;i<count-1;i++)
{
if (queue_arr==max_item)
{
for (int y=i;y<count;y++)
queue_arr[y] = queue_arr[y+1];
}
}
count--;
}
}
template<class T>
T queue<T>::index_arr()
{
T max=0 ;
for (int i=1;i<count ;i++)
{
if (queue_arr>max)
max = queue_arr ;
}
return max ;
}
template<class T>
void queue<T>::print()
{
cout<<endl;
if (count>0)
cout<<"\tqueue is : ";
for (int i=0;i<count;i++)
cout<<queue_arr<<" " ;
cout<<endl<<endl;;
}
int main()
{
queue<int> q ;
int item;
int max_item;
int choise;
do
{
if (choise == 3)break;
clrscr();
q.print();
cout<<" 1. to append to queue "<<endl;
cout<<" 2. to serve priority to queue "<<endl;
cout<<" 3. to end the program "<<endl;
cout<<" enter your choise ";
cin>>choise ;
switch (choise)
{
case 1:
{
cout<<"enter your item ";
cin>>item;
q.queue_appende(item);
break;
}
case 2:
{
max_item = q.index_arr();
q.serve(max_item);
getch();
break;
}
case 3:
break;
}
} while (choise !=3);
cout<<"\npress anay key to exist ";
getch();
}