CB100

Notas, resueltos y tps de la materia Algoritmos y Estructuras de Datos
Index Commits Files Refs README
tps/2/node.h (1177B)
   1 #ifndef NODE_H_
   2 #define NODE_H_
   3 
   4 #include <iostream>
   5 
   6 template <typename Type>
   7 class Node {
   8 private:
   9     Type data;
  10     Node<Type> *next;
  11 
  12 public:
  13     /*
  14      * pos: el nodo resulta inicializado con el dato dado y sin nodo siguiente
  15      */
  16     Node(Type newData);
  17 
  18     /*
  19      * pos: se libera la memoria utilizada
  20      */
  21     virtual ~Node();
  22 
  23     /*
  24      * pos: devuelve el dato almacenado en el nodo
  25      */
  26     Type getData();
  27 
  28     /*
  29      * pos: cambia el dato almacendo en el nodo por `data`
  30      */
  31     void setData(Type newData);
  32 
  33     /*
  34      * pos: devuelve una referencia al nodo siguiente
  35      */
  36     Node<Type>* getNext();
  37 
  38     /*
  39      * pos: cambia el nodo siguiente por `next`
  40      */
  41     void setNext(Node<Type> *newNext);
  42 };
  43 
  44 template <typename Type>
  45 Node<Type>::Node(Type newData) {
  46     this->data = newData;
  47     this->next = NULL;
  48 }
  49 
  50 template <typename Type>
  51 Node<Type>::~Node() {}
  52 
  53 template <typename Type>
  54 Type Node<Type>::getData() {
  55     return this->data;
  56 }
  57 
  58 template <typename Type>
  59 void Node<Type>::setData(Type newData) {
  60     this->data = newData;
  61 }
  62 
  63 template <typename Type>
  64 Node<Type> *Node<Type>::getNext() {
  65     return this->next;
  66 }
  67 
  68 template <typename Type>
  69 void Node<Type>::setNext(Node<Type> *newNext) {
  70     this->next = newNext;
  71 }
  72 
  73 #endif