Startpunkten
This commit is contained in:
110
The_Store/queue.cpp
Normal file
110
The_Store/queue.cpp
Normal file
@@ -0,0 +1,110 @@
|
||||
//#####################################################
|
||||
// QUEUE.CPP
|
||||
//=====================================================
|
||||
|
||||
const int Qleft[2] = {50,70};
|
||||
const int Qtop = 1;
|
||||
const int QmoveX = 0;
|
||||
const int QmoveY = 4;
|
||||
|
||||
template <class T>
|
||||
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:
|
||||
listClass<TWindow>minLista;
|
||||
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 <class T>
|
||||
queueClass<T>::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 <class T>
|
||||
queueClass<T>::~queueClass()
|
||||
{
|
||||
}
|
||||
//#####################################################
|
||||
// RETURNERAR ANTALET ELEMENT I KÖN
|
||||
// pre: TRUE
|
||||
// post: antalet element i kön är returnerade
|
||||
//=====================================================
|
||||
template <class T>
|
||||
int queueClass<T>::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 <class T>
|
||||
int queueClass<T>::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 <class T>
|
||||
void queueClass<T>::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 <class T>
|
||||
void queueClass<T>::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 <class T>
|
||||
int queueClass<T>::isEmpty()
|
||||
{
|
||||
return (minLista.listIsEmpty());
|
||||
}
|
||||
//#####################################################
|
||||
// HÄMTAR ELEMENTET
|
||||
// pre: att det finns en lista
|
||||
// post: det översta elementet har returnerats
|
||||
//=====================================================
|
||||
template <class T>
|
||||
T queueClass<T>::retrive(int position)
|
||||
{
|
||||
Reference in New Issue
Block a user