Nacho182

Template clase Lista

Dec 17th, 2014
191
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.35 KB | None | 0 0
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. /*---------------------------------------------------*/
  5.  
  6. template <typename T>
  7. class nodo {
  8.  
  9.     friend class lista;
  10.  
  11.     private:
  12.             T valor;
  13.             nodo<T> *sig;
  14.  
  15.     public:
  16.     nodo(T val){ valor = val; sig = 0; }
  17. };
  18.  
  19. /*---------------------------------------------------*/
  20.  
  21. template <typename T>
  22. class lista {
  23.  
  24.     private:
  25.             nodo<T> * list;
  26.  
  27.     public:
  28.             lista();
  29.             void insertar(T valor);
  30.             void visualizar();
  31. };
  32.  
  33. /*---------------------------------------------------*/
  34.  
  35. template <typename T>
  36. lista<T>::lista()
  37. {
  38.     list = 0;
  39. }
  40.  
  41. /*---------------------------------------------------*/
  42.  
  43. template <typename T>
  44. void lista<T>::insertar(T valor)
  45. {
  46.     nodo<T> * nuevo = new nodo<T>(valor);
  47.  
  48.     if (list == 0)
  49.         list = nuevo;
  50.     else
  51.     {
  52.         nuevo->sig = list;
  53.         list = nuevo;
  54.     }
  55. }
  56.  
  57. /*---------------------------------------------------*/
  58.  
  59. template <typename T>
  60. void lista<T>::visualizar()
  61. {
  62.     nodo<T> * it = list;
  63.     while (it != 0)
  64.     {
  65.         cout<< it->valor<< " ";
  66.         it = it->sig;
  67.     }
  68. }
  69.  
  70. /*---------------------------------------------------*/
  71.  
  72. int main()
  73. {
  74.     lista<int> l;
  75.     l.insertar(1);
  76.     return 0;
  77. }
  78.  
  79. /*---------------------------------------------------*/
Advertisement
Add Comment
Please, Sign In to add comment