#include Lista_Simples_Lib::Lista_Simples_Lib(void *elemento) { Muda_Valor(elemento); Aterra_Ponteiro(); } Lista_Simples_Lib::Lista_Simples_Lib() { Muda_Valor(NULL); Aterra_Ponteiro(); } Lista_Simples_Lib::~Lista_Simples_Lib() { if (Proximo() != NULL) delete Proximo(); } void Lista_Simples_Lib::Aterra_Ponteiro() { Muda_Proximo(NULL); } Lista_Simples_Lib *Lista_Simples_Lib::Proximo() { return proximo; } void Lista_Simples_Lib::Muda_Proximo(Lista_Simples_Lib *noh) { proximo = noh; } Lista_Simples_Lib *Lista_Simples_Lib::Acha_Ultimo() { Lista_Simples_Lib *aux = this; while (aux->Proximo() != NULL) { aux = aux->Proximo(); } return aux; } Lista_Simples_Lib *Lista_Simples_Lib::Remove() { Lista_Simples_Lib *aux = Proximo(); Aterra_Ponteiro(); return aux; } void *Lista_Simples_Lib::Valor() { return elemento; } void Lista_Simples_Lib::Muda_Valor(void *elemento) { this->elemento = elemento; } void Lista_Simples_Lib::Add_Depois(void *elemento) { Lista_Simples_Lib *nova = new Lista_Simples_Lib(elemento); nova->Muda_Proximo(Proximo()); Muda_Proximo(nova); } void Lista_Simples_Lib::Limpa() { Lista_Simples_Lib *aux, *aux2; aux = this->Remove(); while (aux != NULL) { aux2=aux->Remove(); delete aux; aux=aux2; } } int Lista_Simples_Lib::Contador() { int contador=0; Lista_Simples_Lib *aux = this; while (aux->Proximo() != NULL) { aux = aux->Proximo(); contador++; } return contador; } /* void Lista_Simples_Lib::Junta_Depois(Lista_Simples_Lib &lista) { Lista_Simples_Lib *proximo = Proximo(); Lista_Simples_Lib *nova = lista.Copia(); Muda_Proximo(nova); nova->Acha_Ultimo()->Muda_Proximo(proximo); } void Lista_Simples_Lib::Junta_Ultimo(Lista_Simples_Lib &lista) { Acha_Ultimo()->Junta_Depois(lista); } Lista_Simples_Lib *Lista_Simples_Lib::Copia() { void **valor = new void*; *valor = this->Valor(); Lista_Simples_Lib *lista = new Lista_Simples_Lib(valor); Lista_Simples_Lib *aux, *aux2; aux = Proximo(); aux2= lista; while (aux != NULL) { valor = new void *; *valor = aux->Valor(); aux2->Add_Depois(valor); aux2=aux2->Proximo(); aux =aux->Proximo(); } return lista; } */