//##################################################### // QUEUE.CPP //===================================================== template class queueClass { public: queueClass(); ~queueClass(); int length(); int duplicate(T newItem); void ins(int position, T newItem); void del(); int isEmpty(); void getFront(); void display(); private: listClassminLista; typedef struct queueNode* ptrType; ptrType head; int size; }; //##################################################### // CONSTRUCTOR // SÄTTER KÖSTORLEKEN TILL NOLL & HEAD TILL NULL // pre: TRUE // post: en kö har skapats //===================================================== template queueClass::queueClass():size(0), head(NULL) { } //##################################################### // DESTRUCTOR // FÖRSTÖR KÖN, ANROPAS AUTOMATISKT VID AVSLUT // pre: att det finns en kö // post: kön har raderats //===================================================== template queueClass::~queueClass() { } //##################################################### // RETURNERAR ANTALET ELEMENT I KÖN // pre: TRUE // post: antalet element i kön är returnerade //===================================================== template int queueClass::length() { return (minLista.listLength()); } //##################################################### // KOLLAR OM ETT ELEMENT FINNS // pre: att det finns en kö // post: TRUE om elementet redan finns // post: FALSE om elementet inte redan finns //===================================================== template int queueClass::duplicate(T newItem) { return (minLista.newDuplicate(newItem)); } //##################################################### // LÄGGER TILL ETT NYTT ELEMENT I KÖN // pre: minne fanns för att skapa fönstret // pre: att maximalt antal element inte finns // pre: att köelementet inte finns // post: kön har ett nytt element //===================================================== template void queueClass::ins(int position, T newItem) { minLista.listInsert(position, newItem); } //##################################################### // TAR BORT ELEMENT I LISTAN // pre: att det finns en kö // post: översta elementet har tagits bort //===================================================== template void queueClass::del() { minLista.listDel(); } //##################################################### // KOLLAR OM KÖN ÄR TOM // pre: TRUE // post: TRUE om kön är tom // post: FALSE om kön inte är tom //===================================================== template int queueClass::isEmpty() { return (minLista.listIsEmpty()); } //##################################################### // SKRIVER UT ÖVERSTA ELEMENTET // pre: att det finns en kö // post: översta elementet har skrivits ut //===================================================== template void queueClass::getFront() { TWindow ruta; ruta=minLista.retrive(FORST); cout << ruta; ruta.move(moveX,moveY); } //##################################################### // SKRIVER UT KÖN PÅ SKÄRMEN // pre: att det finns en kö // post: kön har skrivits ut //===================================================== template void queueClass::display() { minLista.listDisplay(); }