//##################################################### // QUEUE.CPP //===================================================== const int Qleft[2] = {50,70}; const int Qtop = 1; const int QmoveX = 0; const int QmoveY = 4; template class queueClass { public: queueClass(); ~queueClass(); T retrive(int position); int isEmpty(); int length(); int duplicate(T newItem); void ins(T newItem); void del(int position); 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: att maximalt antal element inte finns // pre: att elementet inte finns // post:ett nytt element //===================================================== template void queueClass::ins(T newItem) { size++; minLista.listInsert(size, newItem); } //##################################################### // TAR BORT ELEMENT I LISTAN // pre: att det finns en kö // post: översta elementet har tagits bort //===================================================== template void queueClass::del(int position) { size--; minLista.listDel(position); } //##################################################### // 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()); } //##################################################### // HÄMTAR ELEMENTET // pre: att det finns en lista // post: det översta elementet har returnerats //===================================================== template T queueClass::retrive(int position) { return(minLista.retrive(position)); }