예제 #1
0
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);
}
예제 #2
0
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);
}
예제 #3
0
파일: Pila.cpp 프로젝트: bran921007/libros
Nodo* Pila::buscar(string categoria) {
	Nodo* buscar = getUltimoElemento();
	while((buscar != NULL)and(buscar->getCategoria() != categoria))
	{
		buscar = buscar->getAnterior();
	}
	return buscar;
}
예제 #4
0
void Programa::recorreReversa() const
{
    Nodo *ix = mFinal;
    while (ix != NULL) {
        cout << ix->getNumero() << ' ';
        ix = ix->getAnterior();
    }
    cout << endl;
}
예제 #5
0
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);
}
예제 #6
0
void Programa::eliminaUltimo()
{
    Nodo *nodo = mFinal->getAnterior();
    nodo->setSiguiente(NULL);
    mFinal = nodo;
}