Пример #1
0
/**
 * Insere um novo elemento na lista.
 * @param valor
 */
void ListaDescritor::insere(int valor)
{
    No *novo = new No();
    novo->setInfo(valor);
    novo->setProx(NULL);

    if(this->vazia())
    {
        this->descritor->setPrimeiro(novo);
        this->descritor->setUltimo(novo);
    }
    else
    {
        //último nó da lista
        No *ultimo = this->descritor->getProx();
        ultimo->setProx(novo);
        //atualizar o último nó descritor
        this->descritor->setUltimo(novo);
    }

    //atualizar a quantidade de nós da lista;
    int total = this->descritor->getInfo();
    total++;
    this->descritor->setInfo(total);
}
Пример #2
0
/**
 * Operação de enfeleiramento(enqueue)
 * @param valor
 */
void Fila::enfileira(int valor)
{
    No *novo = new No;
    novo->setInfo(valor);
    novo->setProx(NULL);

    if(this->vazia())
        this->inicio = novo;
    else
        this->fim->setProx(novo);

    this->fim = novo;
}
Пример #3
0
/**
 * Insere um novo elemento na lista.
 * @param item
 */
void ListaEncadeada::insere(int item)
{
    No* novo = new No();
    novo->setInfo(item);
    novo->setProx(NULL);
    if(this->prim == NULL)
    {
        this->prim = novo;
    }
    else
    {
        // vai até o final da lista
        No* temp = this->prim;
        while(temp->getProx() != NULL)
        {
            temp = temp->getProx();
        }

        // faz ultimo apontar para o novo nó
        temp->setProx(novo);
        novo->setAnt(temp);

    }
}