Skip to content

Instantly share code, notes, and snippets.

@AVGP
Created September 29, 2010 12:28
Show Gist options
  • Save AVGP/602667 to your computer and use it in GitHub Desktop.
Save AVGP/602667 to your computer and use it in GitHub Desktop.
#include "ListenElement.h"
class Liste
{
public:
Liste()
{
head = NULL;
size = 0;
}
void add(int value,unsigned int position = 0)
{
if(position < 0 || position > size)
{
return; //Abbrechen, falls position ungültig ist
}
ListenElement *newElem = new ListenElement(value);
//In anderen Fällen:
if(position == 0)
{
newElem->setNext(head);
head = newElem;
}
else
{
ListenElement *current = head;
for(unsigned int i=0;i<(position-1);i++) current = current->getNext();
newElem->setNext(current->getNext());
current->setNext(newElem);
}
size++;
}
void remove(unsigned int index)
{
if(size == 0 || index < 0 || index > (size-1)) return;
if(index == 0)
{
head = head->getNext();
size--;
}
else
{
ListenElement *current = head;
for(unsigned int i=0;i<(index-1);i++) current = current->getNext();
current->setNext(current->getNext()->getNext());
delete current->getNext();
size--;
}
}
int getValue(unsigned int index)
{
ListenElement *current = head;
for(unsigned int i=0;i<index;i++)
{
current = current->getNext();
}
return current->getValue();
}
int getSize()
{
return size;
}
private:
ListenElement *head;
unsigned int size;
};
@AVGP
Copy link
Author

AVGP commented Sep 29, 2010

Ach gott, man sollte um 5 uhr morgens keinen Code schreiben.
Ich hab im Artikel dazu definiert: Wenn ein illegaler Index aufgerufen wird: Pech des Anwenders. Es is ja kein produktiver Code ^^
Und newElement MUSS erzeugt werden, weshalbs letzlich egal ist, ob ich ihn oben in der Funktion direkt anfordere oder weiter unten in den jeweiligen if-clauses. Gut - ich sollte das hinter das return-Statement setzen, schon wahr.

@syranez
Copy link

syranez commented Sep 29, 2010

Ach gott, man sollte um 5 uhr morgens keinen Code schreiben.

lol. Meine besten Bugs habe Ich um diese Zeit geschrieben.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment