Hola usuarios, me podrias ayudar como se hace la codificacion de extraccion de datos seleccionados en la Pila (memoria Dinamica). y luego "subir" los datos que estan detras de que ha sacado el dato seleccionado.
te mostrare mi codigo fuente:
struct pila
{
int vPlayer;
struct pila *ant;
}*CAB=NULL,*AUX=NULL;
//-----------------------------------------------------------------------------
int TForm1::GetDatoEncontrado(int parDato1)
{
int vDatoEncontrado;
AUX=CAB;
while (AUX!=NULL)
{
if(AUX->vPlayer==parDato1)
{
vDatoEncontrado=AUX->vPlayer;
goto fin;
}
AUX=AUX->ant;
}
//en el caso de que no se ha encontrado el dato buscado
//devuelve el valor -1.
vDatoEncontrado=-1;
fin:
return vDatoEncontrado;
}
//-----------------------------------------------------------------------------
//------------------------------------------------------------------------------
void TForm1::extraerDato(int parDato)
{
if (CAB==NULL) return;
if(parDato!=GetDatoEncontrado(parDato))
{
AUX=CAB;
CAB=CAB->ant;
free(AUX);
}
else
{
AUX=CAB;
while (AUX!=NULL)
{
if(AUX->vPlayer==parDato)
{
AUX->vPlayer=NULL;
CAB=AUX;
free(AUX);
break;
}
AUX=AUX->ant;
}
//CAB->vPlayer;
}
}
//------------------------------------------------------------------------------