Startpunkten

This commit is contained in:
2026-03-05 13:44:23 +01:00
commit adf9f82c8b
26 changed files with 3313 additions and 0 deletions

110
The_Store/queue.cpp Normal file
View 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)
{