/** * 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); }
/** * 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; }
/** * 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); } }