void inicializaABC(Lista<TipoElemento>& l){ Persona* x; posicion i; int valorClave=1,cuenta=0; for(i=l.primero();cuenta<MAX_ELEMENTOS_LISTA;cuenta++){ cout << "Llenando con clave " << valorClave << endl; x=new Persona(valorClave++,"El "); x->nombre+=intToString(x->clave); x->nombre+="o."; l.inserta(x,i); i=l.siguiente(i); } }
void inicializaABC(Lista<TipoElemento>& l){ Persona x; posicion i; int valorClave=1; i=l.primero(); while(!l.estaLlena()){ cout << "Llenando con clave " << valorClave << endl; x.clave=valorClave++; x.nombre="El "; x.nombre+=intToString(x.clave); x.nombre+="o."; l.inserta(x,i); i=l.siguiente(i); } }
int main() { Lista lis; Persona buscable,insertable,recuperado; posicion p; imprimirCentrado("TDA Lista con clases","#"); pausar(); cout << endl; inicializaABC(&lis); pausar(); cout << "Imprimiendo lista:" << endl; lis.imprimeLista(); pausar(); insertable.clave=26; insertable.nombre="El insertado 26 al principio"; cout << "Tratando de insertar..." << endl; lis.inserta(&insertable,lis.primero()); pausar(); buscable.clave=5; buscable.nombre="Uno con clave 5"; cout << "Buscando elemento..." << endl; lis.imprimeElemento(&buscable); cout << endl; pausar(); p=lis.localiza(&buscable); cout << "Localizado elemento en posicion p=" << p << "..." << endl; pausar(); cout << "Imprimiendo lo que recibi de posicion" << endl; lis.imprimeElemento(lis.recupera(p)); cout << endl; pausar(); recuperado=*lis.recupera(p); cout << "El elemento recuperado es: "; lis.imprimeElemento(&recuperado); cout << endl; pausar(); cout << "Suprimiendo elemento en posicion p=" << p << endl; lis.suprime(p); lis.imprimeLista(); cout << "Insertando al principio de la lista..." << endl; lis.inserta(&insertable,lis.primero()); pausar(); cout << "Imprimiendo lista:" << endl; lis.imprimeLista(); cout << "Elemento recuperado antes de suprimir de la lista: "; lis.imprimeElemento(&recuperado); cout << endl << "Eliminando ultimo elemento de la lista" << endl; lis.suprime(lis.anterior(lis.fin())); pausar(); lis.imprimeLista(); cout << "Insertando al final de la lista" << endl; insertable.clave=27; insertable.nombre="El insertado 27 al final"; lis.inserta(&insertable,lis.fin()); pausar(); lis.imprimeLista(); pausar(); imprimeListaInversa(&lis); return 0; }