Código C++:
Ver original
#include <iostream> #include "Lista.h" using namespace std; Lista :: Lista (void){ p=0; numnodos=0; } Lista :: Lista (int nnodos){ numnodos=nnodos; for (int i=0; i<nnodos; i++){ l nuevo = new Nodo; nuevo->valor = 0; nuevo->siguiente = p; p=nuevo; } } Lista :: Lista (int nnodos, TipoBase val){ numnodos=nnodos; for (int i=0; i<nnodos; i++){ l nuevo = new Nodo; nuevo->valor = val; nuevo->siguiente = p; p=nuevo; } } Lista :: ~Lista (void){ delete p; } int Lista :: NNodos(void){ return(numnodos); } bool Lista :: EstaVacia(){ if (p==0) return (true); else return false; } Lista Lista :: EscribirLista (void){ l nuevo; TipoBase val; int n = NNodos(); for (int i=0; i<n; i++){ cout << "Introduce un valor: "; cin >> val; nuevo->valor=val; nuevo->siguiente=p; p=nuevo; } } void Lista :: Insertar (TipoBase val, int pos){ l nuevo; int n = NNodos(); for (int i=0; i<n; i++){ if (n==pos) nuevo->valor=val; nuevo->siguiente=p; p=nuevo; } } TipoBase Lista :: ObtenerValor (int pos){ l nuevo; int n = NNodos(); for (int i=0; i<n; i++){ if (n==pos) cout << nuevo->valor << endl; nuevo->siguiente=p; p=nuevo; } }
Código C++:
Ver original
#ifndef LISTA #define LISTA #include <iostream> using namespace std; typedef double TipoBase; class Lista{ private: struct Nodo{ TipoBase valor; Nodo *siguiente; }; typedef Nodo *l; l p; int numnodos; public: Lista (void); Lista (int nnodos); Lista (int nnodos, TipoBase val); ~Lista (void); int NNodos(void); bool EstaVacia (void); Lista EscribirLista (void); void Insertar (TipoBase val, int pos); void Borrar (int pos); TipoBase ObtenerValor (int pos); }; #endif