//## begin module.cm preserve=no // %X% %Q% %Z% %W% //## end module.cm //## begin module.cp preserve=no //## end module.cp //## Module: List; Pseudo Package body //## Subsystem: Figures //## Source file: H:\WebDocs\skola\Avancerad_C++\Lab6\List.cpp //## begin module. preserve=no //## end module. //## begin module.includes preserve=yes //## end module.includes // List #include "H:\WebDocs\skola\Avancerad_C++\Lab6\List.h" //## begin module.additionalDeclarations preserve=yes #include #include //## end module.additionalDeclarations // Parameterized Class List template List::List() //## begin List::List%.hasinit preserve=no : size(0) //## end List::List%.hasinit //## begin List::List%.initialization preserve=yes //## end List::List%.initialization { //## begin List::List%.body preserve=yes head=NULL; //## end List::List%.body } template List::~List() { //## begin List::~List%.body preserve=yes delete head; //## end List::~List%.body } //## Other Operations (implementation) template void List::add (int position, T item) { //## begin List::add%937398674.body preserve=yes size++; Node* newPtr = new Node(item); if (position==0) { newPtr->next=head; head=newPtr; } else { Node* prev=head; for (int i=0;inext; newPtr->next=prev->next; prev->next=newPtr; } //## end List::add%937398674.body } template void List::del (int position) { //## begin List::del%937398675.body preserve=yes Node* trav=head; Node* cur; size--; if (position == 0) { cur = head; head = head -> next; } else { for (int i=0 ; i next; cur = trav -> next; trav -> next = cur ->next; } cur -> next = NULL; delete cur; cur = NULL; //## end List::del%937398675.body } template bool List::isEmpty () { //## begin List::isEmpty%937398676.body preserve=yes return (size==0); //## end List::isEmpty%937398676.body } template int List::getSize () { //## begin List::getSize%937398677.body preserve=yes return size; //## end List::getSize%937398677.body } template T List::getItem (int position) { //## begin List::getItem%937398678.body preserve=yes Node* cur=head; for(int i=0 ; inext; return (cur->data); //## end List::getItem%937398678.body } // Additional Declarations //## begin List.declarations preserve=yes //## end List.declarations //## begin module.epilog preserve=yes //## end module.epilog