void Programa::eliminaAntesDeX() { int x; cout << "x: "; cin >> x; Nodo *ix = getX(x); if (!ix) { cout << "no hay x = " << x << endl; return; } Nodo *A = ix->getAnterior(); Nodo *A2 = A->getAnterior(); A2->setSiguiente(ix); ix->setAnterior(A2); }
void Programa::insertaAntesDeX() { int x; cout << "x: "; cin >> x; Nodo *ix = getX(x); if (!ix) { cout << "no hay x = " << x << endl; return; } int numero; cout << "numero: "; cin >> numero; Nodo *nodo = new Nodo(numero); if (ix == mInicio) { mInicio->setAnterior(nodo); nodo->setSiguiente(mInicio); mInicio = nodo; return; } Nodo *A = ix->getAnterior(); A->setSiguiente(nodo); nodo->setAnterior(A); nodo->setSiguiente(ix); ix->setAnterior(nodo); }
Nodo* Pila::buscar(string categoria) { Nodo* buscar = getUltimoElemento(); while((buscar != NULL)and(buscar->getCategoria() != categoria)) { buscar = buscar->getAnterior(); } return buscar; }
void Programa::recorreReversa() const { Nodo *ix = mFinal; while (ix != NULL) { cout << ix->getNumero() << ' '; ix = ix->getAnterior(); } cout << endl; }
void Programa::eliminaX() { int x; cout << "x: "; cin >> x; Nodo *ix = getX(x); if (!ix) { cout << "no hay x = " << x << endl; return; } Nodo *A = ix->getAnterior(); Nodo *B = ix->getSiguiente(); A->setSiguiente(B); B->setAnterior(A); }
void Programa::eliminaUltimo() { Nodo *nodo = mFinal->getAnterior(); nodo->setSiguiente(NULL); mFinal = nodo; }