Алгоритмы и структуры данных на С++. Аксёнова Е.А - 50 стр.

UptoLike

50 Глава 4. Нелинейные структуры данных
int tail;
int n;
int elements;
public:
queue(int size);
~queue(){delete x;}
void push(telem y);
telem pop();
int empty()
{
if(elements==0) return 1;
else return 0;
}
};
template<class telem>queue<telem>::queue(int size)
{
x=new telem[size];
if(!x)
{
cout<<"Невозможно создать очередь\n";
exit(1);
}
n=size;
head=0;
elements=0;
tail=head;
}
template<class telem>void queue<telem>::push(telem y)
{
if(elements==n)
{
cout<<"Очередь заполнена\n";
return;
}
x[tail]=y;
if((tail++)>(n-1))
tail=0;
50                        Глава 4. Нелинейные структуры данных


    int tail;
    int n;
    int elements;
public:
    queue(int size);
   ~queue(){delete x;}
    void push(telem y);
    telem pop();
    int empty()
        {
           if(elements==0) return 1;
           else            return 0;
        }
};

templatequeue::queue(int size)
{
    x=new telem[size];
    if(!x)
       {
         cout<<"Невозможно создать очередь\n";
         exit(1);
       }
    n=size;
    head=0;
    elements=0;
    tail=head;
}

templatevoid queue::push(telem y)
{
    if(elements==n)
        {
           cout<<"Очередь заполнена\n";
           return;
        }
    x[tail]=y;
    if((tail++)>(n-1))
                      tail=0;