void usaListaPersonas(){ Lista<Persona> alpha,beta; Lista<Persona>* gamma; Persona *insertable,buscable(0,""); posicion p; cout << "Listas de Personas" << endl; alpha.fijaNombre("Alpha"); alpha.fijaEliminaElementos(true); beta.fijaNombre("Beta"); beta.fijaEliminaElementos(true); insertable=new Persona(1,"Luis"); alpha.inserta(insertable); insertable=new Persona(2,"Alberto"); alpha.inserta(insertable); alpha.imprimeLista(); insertable=new Persona(3,"Hugo"); beta.inserta(insertable); insertable=new Persona(4,"Paco"); beta.inserta(insertable); beta.imprimeLista(); cout << "Concatenando listas..." << endl; gamma=alpha.concatenar(beta); gamma->imprimeLista(); cout << "Dime cual busco: " << endl; cout << "Clave: "; cin >> buscable.clave; if ((p=gamma->localiza(&buscable))!=gamma->fin()){ cout << gamma->recupera(p)->dameCadena() << endl; } else{ cout << "No se encontro elemento"; } cout << endl; pausar(); cout << "Cuenta de objetos es: " << cuentaObjetos << endl; pausar(); delete gamma; }
void usaListaComputadoras(){ Lista<Computadora> alpha,beta; Lista<Computadora>* gamma; Computadora* insertable,buscable("",""); posicion p; cout << "Listas de Computadoras" << endl; alpha.fijaNombre("Alpha"); alpha.fijaEliminaElementos(true); beta.fijaNombre("Beta"); beta.fijaEliminaElementos(true); insertable=new Computadora("Toshiba","Alpha"); alpha.inserta(insertable); insertable=new Computadora("HP","Beta"); alpha.inserta(insertable); alpha.imprimeLista(); insertable=new Computadora("IBM","Gamma"); beta.inserta(insertable); insertable=new Computadora("Apple","Delta"); beta.inserta(insertable); beta.imprimeLista(); cout << "Concatenando listas..." << endl; gamma=alpha.concatenar(beta); gamma->imprimeLista(); cout << "Dime cual busco: " << endl; cout << "Marca: "; cin >> buscable.marca; cout << "Modelo: "; cin >> buscable.modelo; if ((p=gamma->localiza(&buscable))!=gamma->fin()){ cout << gamma->recupera(p)->dameCadena() << endl; } else{ cout << "No se encontro elemento"; } cout << endl; pausar(); delete gamma; }
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; }