Пример организации круговой очереди.
(организация очереди обратна организации стека)
Значение, попавшее в начало очереди, выводиться первым . :)

//------------------------------------------------------------------------------------------------
#include <iostream>
#include <conio.h>

using namespace std;
class Ochered
{
private:
enum {MAX=10};
int och[MAX];
int nach;
int konec;
public:
Ochered()
{nach=0; konec=-1;}
void put(int zn)
{
if(konec==MAX-1) //Органзация круговой очереди
konec=-1;
och[++konec]=zn;
}
int get()
{
return och[nach++];
if (nach==MAX-1)
nach=0;
}
};
int main()
{
Ochered ocher;
ocher.put(11);
ocher.put(22);
ocher.put(33);
ocher.put(44);
ocher.put(55);
ocher.put(66);
ocher.put(77);
ocher.put(88);
ocher.put(99);
ocher.put(00);
ocher.put(111);
ocher.put(222);
ocher.put(333);
ocher.put(444);
ocher.put(555);
ocher.put(666);
ocher.put(777);
ocher.put(888);
ocher.put(999);
ocher.put(1010);
ocher.put(2020);
cout<<"1: "<<ocher.get()<<endl;
cout<<"2: "<<ocher.get()<<endl;
cout<<"3: "<<ocher.get()<<endl;
cout<<"4: "<<ocher.get()<<endl;
cout<<"5: "<<ocher.get()<<endl;
cout<<"6: "<<ocher.get()<<endl;
cout<<"7: "<<ocher.get()<<endl;
cout<<"8: "<<ocher.get()<<endl;
cout<<"9: "<<ocher.get()<<endl;
cout<<"0: "<<ocher.get()<<endl;
getch();
return 0;
}

//------------------------------------------------------------------------------------------------

Хакинг | Главная | Программирование

Hosted by uCoz