示例#1
0
void Programa::insertaDespuesDeX()
{
    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 == mFinal) {
        mFinal->setSiguiente(nodo);
        nodo->setAnterior(mFinal);
        mFinal = nodo;
        return;
    }

    Nodo *A = ix->getSiguiente();
    ix->setSiguiente(nodo);
    nodo->setAnterior(ix);
    nodo->setSiguiente(A);
    A->setAnterior(nodo);
}
示例#2
0
void Programa::creaFinal()
{
    int numero;
    cout << "numero: ";
    cin >> numero;
    mFinal = new Nodo(numero);
    if (!mInicio) {
        mInicio = mFinal;
    } else {
        mInicio->setSiguiente(mFinal);
        mFinal->setAnterior(mInicio);
    }
}
示例#3
0
void Programa::insertaAlFinal()
{
    if (!mFinal) {
        cout << "no existe final" << endl;
        return;
    }
    int numero;
    cout << "numero: ";
    cin >> numero;
    Nodo *nodo = new Nodo(numero);
    nodo->setAnterior(mFinal);
    mFinal->setSiguiente(nodo);
    mFinal = nodo;
}
示例#4
0
void Programa::insertaAlInicio()
{
    if (!mInicio) {
        cout << "no existe inicio" << endl;
        return;
    }
    int numero;
    cout << "numero: ";
    cin >> numero;
    Nodo *nodo = new Nodo(numero);
    nodo->setSiguiente(mInicio);
    mInicio->setAnterior(nodo);
    mInicio = nodo;
}
示例#5
0
void Programa::eliminaDespuesDeX()
{
    int x;
    cout << "x: ";
    cin >> x;
    Nodo *ix = getX(x);
    if (!ix) {
        cout << "no hay x = " << x << endl;
        return;
    }
    Nodo *A = ix->getSiguiente();
    Nodo *B = A->getSiguiente();
    ix->setSiguiente(B);
    B->setAnterior(ix);
}
示例#6
0
void Programa::eliminaUltimo()
{
    Nodo *nodo = mFinal->getAnterior();
    nodo->setSiguiente(NULL);
    mFinal = nodo;
}