Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Pessoal fiz o seguinte algoritmo pra remover o 10° nó de uma pilha, esta correto ?
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{
struct pilha{
int dado;
struct pilha *cima;
} *Lista, *D, *S, *R;
int aux;
D=Lista;
aux=0;
if (Lista==NULL)
printf ("\n\nERRO. Lista vazia\n"); if (D->dado==10){
Lista=NULL;
free(D);
aux=1;
}
else{
while (D->cima!=NULL){
S=D;
D=D->cima;
if (D->dado==10){
S->cima=NULL;
aux=1;
while (D->cima!=NULL){
R=D;
D=D->cima;
free(R);}
free(D);
P=S;
printf("\nO conteúdo procurado foi encontrado e apagado.\n");
}
}
}
}
if (aux==0)
printf("\n O conteudo procurado não está na lista.\n");
system("PAUSE");
return 0;
}Carregando comentários...