X-Git-Url: https://git.llucax.com/z.facultad/75.42/euler-oo.git/blobdiff_plain/2ad7702430009b7adee71c280ad23a7c184fa0c8..382e1e54016fc7c1fd26fe1ae186b1e3a0e15f39:/dllist.cpp?ds=sidebyside diff --git a/dllist.cpp b/dllist.cpp index a2994fd..e34e787 100644 --- a/dllist.cpp +++ b/dllist.cpp @@ -14,8 +14,6 @@ * $Id$ */ -// TODO metodos que devuelven NULL si la lista esta vacia. -// poner comentarios en línea simple? #include "dllist.h" DLList::DLList(void): first(NULL), current(NULL), last(NULL) {} @@ -126,6 +124,10 @@ bool DLList::push(void* data) { } void* DLList::shift(void) { + // Si está vacía devuelve NULL. + if (this->first == NULL) { + return NULL; + } /* Primer nodo */ DLListNode* node = this->first; /* Datos del primer nodo. */ @@ -147,6 +149,10 @@ void* DLList::shift(void) { } void* DLList::pop(void) { + // Si está vacía devuelve NULL. + if (this->first == NULL) { + return NULL; + } /* Último nodo */ DLListNode* node = this->last; /* Datos del último nodo. */ @@ -168,6 +174,10 @@ void* DLList::pop(void) { } void* DLList::remove_current(void) { + // Si no hay un nodo seleccionado devuelve NULL. + if (this->current == NULL) { + return NULL; + } /* Nodo actual */ DLListNode* current = this->current; /* Datos del nodo actual. */