]> git.llucax.com Git - z.facultad/75.42/euler-oo.git/commitdiff
Correcciones.
authorLeandro Lucarella <llucax@gmail.com>
Fri, 19 Sep 2003 03:43:41 +0000 (03:43 +0000)
committerLeandro Lucarella <llucax@gmail.com>
Fri, 19 Sep 2003 03:43:41 +0000 (03:43 +0000)
dllist.cpp

index a2994fd467a6f8a75e7f0132bc3d4c883ee92d85..e34e78782bcb9f839cba9e8b80329db5ac3fef2d 100644 (file)
@@ -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. */