hola, muchas gracias por responder, entendi esa forma y tambien otra que es mediante un bool.
bool borrar(){
if (inicial != nullptr){
Articulo* auxiliar = inicial;
if (inicial->Inventario == 0){
inicial = inicial->sig;
delete auxiliar;
return true; //Se eliminó el elemento (estaba al principio)
}
else{
while (auxiliar->sig != nullptr && auxiliar->sig->Inventario != 0)
auxiliar = auxiliar->sig;
if (auxiliar->sig == nullptr)
return false; //No se encontró el elemento
else{
if (auxiliar->sig->Inventario == 0){
Articulo* aEliminar = auxiliar->sig;
auxiliar->sig = auxiliar->sig->sig;
delete aEliminar;
return cout<<"Articulo borrado."<<endl; //Se eliminó el elemento (no estaba al principio)
}
}
}
}
else
cout << "Nada que eliminar."<<endl<<endl; //La lista está vacía
la verdad ese apunte me ayuda mucho para entender y comprenderlo mejor, gracias
bool borrar(){
if (inicial != nullptr){
Articulo* auxiliar = inicial;
if (inicial->Inventario == 0){
inicial = inicial->sig;
delete auxiliar;
return true; //Se eliminó el elemento (estaba al principio)
}
else{
while (auxiliar->sig != nullptr && auxiliar->sig->Inventario != 0)
auxiliar = auxiliar->sig;
if (auxiliar->sig == nullptr)
return false; //No se encontró el elemento
else{
if (auxiliar->sig->Inventario == 0){
Articulo* aEliminar = auxiliar->sig;
auxiliar->sig = auxiliar->sig->sig;
delete aEliminar;
return cout<<"Articulo borrado."<<endl; //Se eliminó el elemento (no estaba al principio)
}
}
}
}
else
cout << "Nada que eliminar."<<endl<<endl; //La lista está vacía
la verdad ese apunte me ayuda mucho para entender y comprenderlo mejor, gracias