Asi lo tengo ahora:
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;
}
p->siguiente = 0;
}
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;
}
p->siguiente = 0;
}
Lista :: ~Lista (void){
delete p;
}
int Lista :: NNodos(void){
return(numnodos);
}
bool Lista :: EstaVacia(){
if (p==0)
return (true);
else
return false;
}
void Lista :: EscribirLista (void){
l nuevo,ant;
TipoBase val;
nuevo = p;
int n = NNodos();
for (int i=0; i<n; i++){
cout << "Introduce un valor: ";
cin >> val;
nuevo->valor=val;
nuevo->siguiente=ant;
ant=nuevo;
}
}
void Lista :: Insertar (TipoBase val, int pos){
l nuevo,ant;
nuevo=p;
int n = NNodos();
for (int i=0; i<n; i++){
if (n==pos)
nuevo->valor=val;
nuevo->siguiente=ant;
ant=nuevo;
}
}
TipoBase Lista :: ObtenerValor (int pos){
l nuevo,ant;
nuevo=p;
int n = NNodos();
for (int i=0; i<n; i++){
if (n==pos)
return (nuevo->valor);
nuevo->siguiente=ant;
ant=nuevo;
}
}