Beruflich Dokumente
Kultur Dokumente
• Realizar as operações:
– Inserção
– Remoção
– Consulta
O TAD Pilha
O TAD Pilha deve conter as seguintes funcionalidades:
• Sugestão
struct pilha_t
{ prox prox
struct no *topo;
dado dado
int quant;
};
nó nó
typedef struct pilha_t pilha;
Pilha - Implementação Dinâmica
int main(void) p1
{
int i;
pilha p1;
create(&p1);
if (isEmpty(p1))
printf(“\n Pilha Vazia“);
else
printf("\n Pilha com Dados");
for(i=1;i<=4;i++)
if (!push(&p1, i))
exit(0);
while(!isEmpty(p1))
{
pop(&p1,&i);
printf(“\n Pilha: %d”, i);
}
return 0;
}
Pilha - Implementação Dinâmica
int main(void) p1
{
int i;
pilha p1;
create(&p1);
if (isEmpty(p1))
printf(“\n Pilha Vazia“);
else
printf("\n Pilha com Dados");
for(i=1;i<=4;i++)
if (!push(&p1, i))
exit(0);
void create(pilha *s)
while(!isEmpty(p1))
{ {
pop(&p1,&i); s->topo=NULL;
printf(“\n Pilha: %d”, i); s->quant=0;
} }
return 0;
}
Pilha - Implementação Dinâmica
int main(void) p1
{
int i;
pilha p1;
create(&p1);
if (isEmpty(p1))
printf(“\n Pilha Vazia“);
else
printf("\n Pilha com Dados");
for(i=1;i<=4;i++)
if (!push(&p1, i)) int isEmpty(pilha s)
exit(0); {
while(!isEmpty(p1)) if (s.inicio
(s.topo ====NULL)
NULL)
{ return TRUE;
pop(&p1,&i); return FALSE;
printf(“\n Pilha: %d”, i); }
}
return 0;
}
Pilha - Implementação Dinâmica
int main(void) p1
{
int i;
pilha p1;
create(&p1);
if (isEmpty(p1))
printf(“\n Pilha Vazia“);
else
printf("\n Pilha com Dados");
for(i=1;i<=4;i++)
if (!push(&p1, i)) int push(pilha *s, int d)
{
exit(0); struct no *aux;
while(!isEmpty(p1)) aux = (struct no *)malloc(sizeof(struct no));
{ if (aux == NULL) return FALSE;
pop(&p1,&i); aux->dado = d;
aux->prox = s->topo;
printf(“\n Pilha: %d”, i);
s->topo = aux;
} return TRUE;
return 0; }
}
Pilha - Implementação Dinâmica
int main(void) p1
{
int i;
pilha p1;
create(&p1);
if (isEmpty(p1))
printf(“\n Pilha Vazia“);
else
printf("\n Pilha com Dados");
for(i=1;i<=4;i++)
if (!push(&p1, i)) int push(pilha *s, int d)
{
exit(0);
struct no *aux;
while(!isEmpty(p1)) aux = (struct no *)malloc(sizeof(struct no));
{ if (aux == NULL) return FALSE;
pop(&p1,&i); aux->dado = d;
aux
printf(“\n Pilha: %d”, i); aux->prox = s->topo;
s->topo = aux;
} return TRUE;
return 0; }
}
Pilha - Implementação Dinâmica
int main(void) p1
{
int i;
pilha p1;
create(&p1);
if (isEmpty(p1))
printf(“\n Pilha Vazia“);
else
printf("\n Pilha com Dados");
for(i=1;i<=4;i++)
if (!push(&p1, i)) int push(pilha *s, int d)
{
exit(0);
struct no *aux;
while(!isEmpty(p1)) aux = (struct no *)malloc(sizeof(struct no));
{ if (aux == NULL) return FALSE;
pop(&p1,&i); aux->dado = d;
aux
printf(“\n Pilha: %d”, i); aux->prox = s->topo;
s->topo = aux;
} return TRUE;
return 0; }
}
Pilha - Implementação Dinâmica
int main(void) p1
{
int i;
pilha p1;
create(&p1);
if (isEmpty(p1))
printf(“\n Pilha Vazia“);
else
printf("\n Pilha com Dados");
for(i=1;i<=4;i++)
if (!push(&p1, i)) int push(pilha *s, int d)
{
exit(0);
struct no *aux;
while(!isEmpty(p1)) aux = (struct no *)malloc(sizeof(struct no));
{ if (aux == NULL) return (FALSE);
pop(&p1,&i); aux->dado = d;
aux
printf(“\n Pilha: %d”, i); aux->prox = s->topo; 1
s->topo = aux;
} return TRUE;
return 0; }
}
Pilha - Implementação Dinâmica
int main(void) p1
{
int i;
pilha p1;
create(&p1);
if (isEmpty(p1))
printf(“\n Pilha Vazia“);
else
printf("\n Pilha com Dados");
for(i=1;i<=4;i++)
if (!push(&p1, i)) int push(pilha *s, int d)
{
exit(0);
struct no *aux;
while(!isEmpty(p1)) aux = (struct no *)malloc(sizeof(struct no));
{ if (aux == NULL) return (FALSE);
pop(&p1,&i); aux->dado = d;
aux
printf(“\n Pilha: %d”, i); aux->prox = s->topo; 1
s->topo = aux;
} return TRUE;
return 0; }
}
Pilha - Implementação Dinâmica
int main(void) p1
{
int i;
pilha p1;
create(&p1);
if (isEmpty(p1))
printf(“\n Pilha Vazia“);
else
printf("\n Pilha com Dados");
for(i=1;i<=4;i++)
if (!push(&p1, i)) int push(pilha *s, int d)
{
exit(0);
struct no *aux;
while(!isEmpty(p1)) aux = (struct no *)malloc(sizeof(struct no));
{ if (aux == NULL) return FALSE;
pop(&p1,&i); aux->dado = d;
printf(“\n Pilha: %d”, i); aux->prox = s->topo; 1
s->topo = aux;
} return TRUE;
return 0; }
}
Pilha - Implementação Dinâmica
int main(void) p1
{
int i;
pilha p1;
create(&p1);
if (isEmpty(p1))
printf(“\n Pilha Vazia“);
else
printf("\n Pilha com Dados");
for(i=1;i<=4;i++)
if (!push(&p1, i)) int push(pilha *s, int d)
{
exit(0); struct no *aux;
while(!isEmpty(p1)) aux = (struct no *)malloc(sizeof(struct no));
{ if (aux == NULL) return (FALSE);
pop(&p1,&i); aux->dado = d;
aux->prox = s->inicio;
printf(“\n Pilha: %d”, i); 1
s->inicio = aux;
} return TRUE;
return 0; }
}
Pilha - Implementação Dinâmica
int main(void) p1
{
int i;
pilha p1;
create(&p1);
if (isEmpty(p1))
printf(“\n Pilha Vazia“);
else
printf("\n Pilha com Dados");
for(i=1;i<=4;i++)
if (!push(&p1, i)) int push(pilha *s, int d)
{
exit(0);
struct no *aux;
while(!isEmpty(p1)) aux = (struct no *)malloc(sizeof(struct no));
{ if (aux == NULL) return (FALSE);
pop(&p1,&i); aux->dado = d;
printf(“\n Pilha: %d”, i); aux->prox = s->inicio; 1
s->inicio = aux;
} return TRUE;
return 0; }
}
Pilha - Implementação Dinâmica
int main(void) p1
{
int i;
pilha p1;
create(&p1);
if (isEmpty(p1))
printf(“\n Pilha Vazia“);
else
printf("\n Pilha com Dados");
for(i=1;i<=4;i++)
if (!push(&p1, i)) int push(pilha *s, int d)
{
exit(0);
struct no *aux;
while(!isEmpty(p1)) aux = (struct no *)malloc(sizeof(struct no));
{ if (aux == NULL) return FALSE;
pop(&p1,&i); aux->dado = d;
printf(“\n Pilha: %d”, i); aux->prox = s->inicio; 1
s->inicio = aux;
} return TRUE;
return 0; }
}
Pilha - Implementação Dinâmica
int main(void) p1
{
int i;
pilha p1;
create(&p1);
if (isEmpty(p1))
printf(“\n Pilha Vazia“);
else
printf("\n Pilha com Dados");
for(i=1;i<=4;i++)
if (!push(&p1, i)) int push(pilha *s, int d)
{
exit(0);
while(!isEmpty(p1))
struct no *aux; 2
aux = (struct no *)malloc(sizeof(struct no));
{ if (aux == NULL) return FALSE;
pop(&p1,&i); aux->dado = d;
printf(“\n Pilha: %d”, i); aux->prox = s->topo; 1
s->topo = aux;
} return TRUE;
return 0; }
}
Pilha - Implementação Dinâmica
int main(void) p1
{
int i;
pilha p1;
create(&p1);
if (isEmpty(p1))
printf(“\n Pilha Vazia“);
else
printf("\n Pilha com Dados");
for(i=1;i<=4;i++)
if (!push(&p1, i)) int push(pilha *s, int d)
{
exit(0);
while(!isEmpty(p1))
struct no *aux; 2
aux = (struct no *)malloc(sizeof(struct no));
{ if (aux == NULL) return FALSE;
pop(&p1,&i); aux->dado = d;
printf(“\n Pilha: %d”, i);aux->prox = s->topo; 1
s->topo = aux;
} return TRUE;
return 0; }
}
Pilha - Implementação Dinâmica
int main(void) p1
{
int i;
pilha p1;
create(&p1);
if (isEmpty(p1))
printf(“\n Pilha Vazia“);
else
printf("\n Pilha com Dados");
for(i=1;i<=4;i++)
if (!push(&p1, i)) int push(pilha *s, int d)
{
exit(0);
while(!isEmpty(p1))
struct no *aux; 2
aux = (struct no *)malloc(sizeof(struct no));
{ if (aux == NULL) return FALSE;
pop(&p1,&i); aux->dado = d;
printf(“\n Pilha: %d”, i); aux->prox = s->topo; 1
s->topo = aux;
} return TRUE;
return 0; }
}
Pilha - Implementação Dinâmica
int main(void) p1
{
int i;
pilha p1;
create(&p1);
if (isEmpty(p1))
printf(“\n Pilha Vazia“);
else
printf("\n Pilha com Dados");
for(i=1;i<=4;i++)
if (!push(&p1, i)) int push(pilha *s, int d)
{
exit(0);
while(!isEmpty(p1))
struct no *aux; 2
aux=(struct no *)malloc(sizeof(struct no));
{ if (aux==NULL) return (FALSE);
pop(&p1,&i); aux->dado=d;
printf(“\n Pilha: %d”, i); aux->prox= s->topo; 1
s->topo =aux;
} return(TRUE);
return 0; }
}
Pilha - Implementação Dinâmica
int main(void) p1
{
int i;
pilha p1;
create(&p1);
if (isEmpty(p1))
printf(“\n Pilha Vazia“);
else
printf("\n Pilha com Dados");
for(i=1;i<=4;i++)
if (!push(&p1, i)) int push(pilha *s, int d)
{
exit(0);
while(!isEmpty(p1))
struct no *aux; 2
aux=(struct no *)malloc(sizeof(struct no));
{ if (aux == NULL) return FALSE;
pop(&p1,&i); aux->dado = d;
printf(“\n Pilha: %d”, i);aux->prox = s->topo; 1
s->topo = aux;
} return TRUE;
return 0; }
}
Pilha - Implementação Dinâmica
int main(void) p1
{
int i;
pilha p1;
create(&p1); 3
if (isEmpty(p1))
printf(“\n Pilha Vazia“);
else
printf("\n Pilha com Dados");
for(i=1;i<=4;i++)
if (!push(&p1, i)) int push(pilha *s, int d)
{
exit(0);
while(!isEmpty(p1))
struct no *aux; 2
aux = (struct no *)malloc(sizeof(struct no));
{ if (aux == NULL) return FALSE;
pop(&p1,&i); aux->dado = d;
printf(“\n Pilha: %d”, i); aux->prox = s->topo; 1
s->topo = aux;
} return TRUE;
return 0; }
}
Pilha - Implementação Dinâmica
int main(void) p1
{
int i;
pilha p1;
create(&p1); 3
if (isEmpty(p1))
printf(“\n Pilha Vazia“);
else
printf("\n Pilha com Dados");
for(i=1;i<=4;i++)
if (!push(&p1, i)) int push(pilha *s, int d)
{
exit(0);
while(!isEmpty(p1))
struct no *aux; 2
aux = (struct no *)malloc(sizeof(struct no));
{ if (aux == NULL) return FALSE;
pop(&p1,&i); aux->dado = d;
printf(“\n Pilha: %d”, i); aux->prox = s->topo; 1
s->topo = aux;
} return TRUE;
return 0; }
}
Pilha - Implementação Dinâmica
int main(void) p1
{
int i;
pilha p1;
create(&p1); 3
if (isEmpty(p1))
printf(“\n Pilha Vazia“);
else
printf("\n Pilha com Dados");
for(i=1;i<=4;i++)
if (!push(&p1, i)) int push(pilha *s, int d)
{
exit(0);
while(!isEmpty(p1))
struct no *aux; 2
aux=(struct no *)malloc(sizeof(struct no));
{ if (aux == NULL) return FALSE;
pop(&p1,&i); aux->dado = d;
printf(“\n Pilha: %d”, i); aux->prox = s->topo; 1
s->topo = aux;
} returnTRUE;
return 0; }
}
Pilha - Implementação Dinâmica
int main(void) p1
{
int i;
pilha p1;
create(&p1); 3
if (isEmpty(p1))
printf(“\n Pilha Vazia“);
else
printf("\n Pilha com Dados");
for(i=1;i<=4;i++)
if (!push(&p1, i)) int push(pilha *s, int d)
{
exit(0);
while(!isEmpty(p1))
struct no *aux; 2
aux=(struct no *)malloc(sizeof(struct no));
{ if (aux == NULL) return FALSE;
pop(&p1,&i); aux->dado = d;
printf(“\n Pilha: %d”, i); aux->prox = s->topo; 1
s->topo = aux;
} return TRUE;
return 0; }
}
Pilha - Implementação Dinâmica
int main(void) p1
{
int i;
pilha p1;
create(&p1); 3
if (isEmpty(p1))
printf(“\n Pilha Vazia“);
else
printf("\n Pilha com Dados");
for(i=1;i<=4;i++)
if (!push(&p1, i)) int push(pilha *s, int d)
{
exit(0);
while(!isEmpty(p1))
struct no *aux; 2
aux=(struct no *)malloc(sizeof(struct no));
{ if (aux == NULL) return FALSE;
pop(&p1,&i); aux->dado = d;
printf(“\n Pilha: %d”, i);aux->prox = s->topo; 1
s->topo = aux;
} return TRUE;
return 0; }
}
Pilha - Implementação Dinâmica
int main(void) p1
{
int i;
pilha p1;
create(&p1); 3
if (isEmpty(p1))
printf(“\n Pilha Vazia“);
else
printf("\n Pilha com Dados"); 4
for(i=1;i<=4;i++)
if (!push(&p1, i)) int push(pilha *s, int d)
{
exit(0);
while(!isEmpty(p1))
struct no *aux; 2
aux=(struct no *)malloc(sizeof(struct no));
{ if (aux == NULL) return FALSE;
pop(&p1,&i); aux->dado = d;
printf(“\n Pilha: %d”, i); aux->prox = s->topo; 1
s->topo = aux;
} return TRUE;
return 0; }
}
Pilha - Implementação Dinâmica
int main(void) p1
{
int i;
pilha p1;
create(&p1); 3
if (isEmpty(p1))
printf(“\n Pilha Vazia“);
else
printf("\n Pilha com Dados"); 4
for(i=1;i<=4;i++)
if (!push(&p1, i)) int push(pilha *s, int d)
{
exit(0);
while(!isEmpty(p1))
struct no *aux; 2
aux=(struct no *)malloc(sizeof(struct no));
{ if (aux == NULL) return FALSE;
pop(&p1,&i); aux->dado = d;
printf(“\n Pilha: %d”, i); aux->prox = s->topo; 1
s->topo =aux;
} return TRUE;
return 0; }
}
Pilha - Implementação Dinâmica
int main(void) p1
{
int i;
pilha p1;
create(&p1); 3
if (isEmpty(p1))
printf(“\n Pilha Vazia“);
else
printf("\n Pilha com Dados"); 4
for(i=1;i<=4;i++)
if (!push(&p1, i)) int push(pilha *s, int d)
{
exit(0);
while(!isEmpty(p1))
struct no *aux; 2
aux=(struct no *)malloc(sizeof(struct no));
{ if (aux == NULL) return FALSE;
pop(&p1,&i); aux->dado = d;
printf(“\n Pilha: %d”, i); aux->prox = s->topo; 1
s->inicio = aux;
} return TRUE;
return 0; }
}
Pilha - Implementação Dinâmica
int main(void) p1
{
int i;
pilha p1;
create(&p1); 3
if (isEmpty(p1))
printf(“\n Pilha Vazia“);
else
printf("\n Pilha com Dados"); 4
for(i=1;i<=4;i++)
int pop(pilha *s, int *d)
if (!push(&p1, i)) {
exit(0); struct no *aux;
while(!isEmpty(p1)) if (s->topo == NULL) return FALSE; 2
{ aux = s->topo;
s->topo = (s->topo)->prox;
pop(&p1,&i); *d = aux->dado;
printf(“\n Pilha: %d”, i); free(aux); 1
} return TRUE;
return 0; }
}
Pilha - Implementação Dinâmica
int main(void) p1
{
aux
int i;
pilha p1;
create(&p1); 3
if (isEmpty(p1))
printf(“\n Pilha Vazia“);
else
printf("\n Pilha com Dados"); 4
for(i=1;i<=4;i++)
int pop(pilha *s, int *d)
if (!push(&p1, i)) {
exit(0); struct no *aux;
while(!isEmpty(p1)) if (s->topo == NULL) return (FALSE); 2
{ aux= s->topo;
s->topo =(s->topo)->prox;
pop(&p1,&i); *d=aux->dado;
printf(“\n Pilha: %d”, i); free(aux); 1
} return(TRUE);
return 0; }
}
Pilha - Implementação Dinâmica
int main(void) p1
{
aux
int i;
pilha p1;
create(&p1); 3
if (isEmpty(p1))
printf(“\n Pilha Vazia“);
else
printf("\n Pilha com Dados"); 4
for(i=1;i<=4;i++)
int pop(pilha *s, int *d)
if (!push(&p1, i)) {
exit(0); struct no *aux;
while(!isEmpty(p1)) if (s->topo==NULL) return (FALSE); 2
{ aux= s->topo;
s->topo =(s->topo)->prox;
pop(&p1,&i); *d=aux->dado;
printf(“\n Pilha: %d”, i); free(aux); 1
} return(TRUE);
return 0; }
}
Pilha - Implementação Dinâmica
int main(void) p1
{
aux
int i;
pilha p1;
create(&p1); 3
if (isEmpty(p1))
printf(“\n Pilha Vazia“);
else
printf("\n Pilha com Dados"); 4
for(i=1;i<=4;i++)
int pop(pilha *s, int *d)
if (!push(&p1, i)) {
exit(0); struct no *aux;
while(!isEmpty(p1)) if (s->topo == NULL) return FALSE; 2
{ aux= s->topo;
s->topo =(s->topo)->prox;
pop(&p1,&i); *d=aux->dado;
printf(“\n Pilha: %d”, i); free(aux); 1
} return(TRUE);
return 0; }
}
Pilha - Implementação Dinâmica
int main(void) p1
{
aux
int i;
pilha p1;
create(&p1); 3
if (isEmpty(p1))
printf(“\n Pilha Vazia“);
else
printf("\n Pilha com Dados"); 4
for(i=1;i<=4;i++)
int pop(pilha *s, int *d)
if (!push(&p1, i)) {
exit(0); struct no *aux;
while(!isEmpty(p1)) if (s->topo == NULL) return FALSE; 2
{ aux= s->topo;
s->topo =(s->topo)->prox;
pop(&p1,&i); *d=aux->dado;
printf(“\n Pilha: %d”, i); free(aux); 1
} return(TRUE);
return 0; }
}
Pilha - Implementação Dinâmica
int main(void) p1
{
aux
int i;
pilha p1;
create(&p1); 3
if (isEmpty(p1))
printf(“\n Pilha Vazia“);
else
printf("\n Pilha com Dados");
for(i=1;i<=4;i++)
int pop(pilha *s, int *d)
if (!push(&p1, i)) {
exit(0); struct no *aux;
while(!isEmpty(p1)) if (s->topo == NULL) return FALSE; 2
{ aux= s->topo;
s->topo =(s->topo)->prox;
pop(&p1,&i); *d=aux->dado;
printf(“\n Pilha: %d”, i); free(aux); 1
} return(TRUE);
return 0; }
}
Pilha - Implementação Dinâmica
int main(void) p1
{
int i;
pilha p1;
create(&p1); 3
if (isEmpty(p1))
printf(“\n Pilha Vazia“);
else
printf("\n Pilha com Dados");
for(i=1;i<=4;i++)
int pop(pilha *s, int *d)
if (!push(&p1, i)) {
exit(0); struct no *aux;
while(!isEmpty(p1)) if (s->topo == NULL) return FALSE; 2
{ aux= s->topo;
s->topo =(s->topo)->prox;
pop(&p1,&i); *d=aux->dado;
printf(“\n Pilha: %d”, i); free(aux); 1
} return(TRUE);
return 0; }
}
Pilha - Implementação Dinâmica
int main(void) p1
{
aux
int i;
pilha p1;
create(&p1); 3
if (isEmpty(p1))
printf(“\n Pilha Vazia“);
else
printf("\n Pilha com Dados");
for(i=1;i<=4;i++)
int pop(pilha *s, int *d)
if (!push(&p1, i)) {
exit(0); struct no *aux;
while(!isEmpty(p1)) if (s->topo == NULL) return FALSE; 2
{ aux= s->topo;
s->topo =(s->topo)->prox;
pop(&p1,&i); *d=aux->dado;
printf(“\n Pilha: %d”, i); free(aux); 1
} return(TRUE);
return 0; }
}
Pilha - Implementação Dinâmica
int main(void) p1
{
aux
int i;
pilha p1;
create(&p1); 3
if (isEmpty(p1))
printf(“\n Pilha Vazia“);
else
printf("\n Pilha com Dados");
for(i=1;i<=4;i++)
int pop(pilha *s, int *d)
if (!push(&p1, i)) {
exit(0); struct no *aux;
while(!isEmpty(p1)) if (s->topo == NULL) return FALSE; 2
{ aux= s->topo;
s->topo =(s->topo)->prox;
pop(&p1,&i); *d=aux->dado;
printf(“\n Pilha: %d”, i); free(aux); 1
} return(TRUE);
return 0; }
}
Pilha - Implementação Dinâmica
int main(void) p1
{
aux
int i;
pilha p1;
create(&p1); 3
if (isEmpty(p1))
printf(“\n Pilha Vazia“);
else
printf("\n Pilha com Dados");
for(i=1;i<=4;i++)
int pop(pilha *s, int *d)
if (!push(&p1, i)) {
exit(0); struct no *aux;
while(!isEmpty(p1)) if (s->topo == NULL) return FALSE; 2
{ aux= s->topo;
s->topo =(s->topo)->prox;
pop(&p1,&i); *d=aux->dado;
printf(“\n Pilha: %d”, i); free(aux); 1
} return(TRUE);
return 0; }
}
Pilha - Implementação Dinâmica
int main(void) p1
{
aux
int i;
pilha p1;
create(&p1); 3
if (isEmpty(p1))
printf(“\n Pilha Vazia“);
else
printf("\n Pilha com Dados");
for(i=1;i<=4;i++)
int pop(pilha *s, int *d)
if (!push(&p1, i)) {
exit(0); struct no *aux;
while(!isEmpty(p1)) if (s->topo == NULL) return FALSE; 2
{ aux= s->topo;
s->topo =(s->topo)->prox;
pop(&p1,&i); *d=aux->dado;
printf(“\n Pilha: %d”, i); free(aux); 1
} return(TRUE);
return 0; }
}
Pilha - Implementação Dinâmica
int main(void) p1
{
aux
int i;
pilha p1;
create(&p1);
if (isEmpty(p1))
printf(“\n Pilha Vazia“);
else
printf("\n Pilha com Dados");
for(i=1;i<=4;i++)
int pop(pilha *s, int *d)
if (!push(&p1, i)) {
exit(0); struct no *aux;
while(!isEmpty(p1)) if (s->topo == NULL) return FALSE; 2
{ aux= s->topo;
s->topo =(s->topo)->prox;
pop(&p1,&i); *d=aux->dado;
printf(“\n Pilha: %d”, i); free(aux); 1
} return(TRUE);
return 0; }
}
Pilha - Implementação Dinâmica
int main(void) p1
{
int i;
pilha p1;
create(&p1);
if (isEmpty(p1))
printf(“\n Pilha Vazia“);
else
printf("\n Pilha com Dados");
for(i=1;i<=4;i++)
int pop(pilha *s, int *d)
if (!push(&p1, i)) {
exit(0); struct no *aux;
while(!isEmpty(p1)) if (s->topo == NULL) return FALSE; 2
{ aux= s->topo;
s->topo =(s->topo)->prox;
pop(&p1,&i); *d=aux->dado;
printf(“\n Pilha: %d”, i); free(aux); 1
} return(TRUE);
return 0; }
}
Pilha - Implementação Dinâmica
int main(void) p1
{
aux
int i;
pilha p1;
create(&p1);
if (isEmpty(p1))
printf(“\n Pilha Vazia“);
else
printf("\n Pilha com Dados");
for(i=1;i<=4;i++)
int pop(pilha *s, int *d)
if (!push(&p1, i)) {
exit(0); struct no *aux;
while(!isEmpty(p1)) if (s->topo == NULL) return FALSE; 2
{ aux= s->topo;
s->topo =(s->topo)->prox;
pop(&p1,&i); *d=aux->dado;
printf(“\n Pilha: %d”, i); free(aux); 1
} return(TRUE);
return 0; }
}
Pilha - Implementação Dinâmica
int main(void) p1
{
aux
int i;
pilha p1;
create(&p1);
if (isEmpty(p1))
printf(“\n Pilha Vazia“);
else
printf("\n Pilha com Dados");
for(i=1;i<=4;i++)
int pop(pilha *s, int *d)
if (!push(&p1, i)) {
exit(0); struct no *aux;
while(!isEmpty(p1)) if (s->topo == NULL) return FALSE; 2
{ aux= s->topo;
s->topo =(s->topo)->prox;
pop(&p1,&i); *d=aux->dado;
printf(“\n Pilha: %d”, i); free(aux); 1
} return(TRUE);
return 0; }
}
Pilha - Implementação Dinâmica
int main(void) p1
{
aux
int i;
pilha p1;
create(&p1);
if (isEmpty(p1))
printf(“\n Pilha Vazia“);
else
printf("\n Pilha com Dados");
for(i=1;i<=4;i++)
int pop(pilha *s, int *d)
if (!push(&p1, i)) {
exit(0); struct no *aux;
while(!isEmpty(p1)) if (s->topo == NULL) return FALSE; 2
{ aux= s->topo;
s->topo =(s->topo)->prox;
pop(&p1,&i); *d=aux->dado;
printf(“\n Pilha: %d”, i); free(aux); 1
} return(TRUE);
return 0; }
}
Pilha - Implementação Dinâmica
int main(void) p1
{
aux
int i;
pilha p1;
create(&p1);
if (isEmpty(p1))
printf(“\n Pilha Vazia“);
else
printf("\n Pilha com Dados");
for(i=1;i<=4;i++)
int pop(pilha *s, int *d)
if (!push(&p1, i)) {
exit(0); struct no *aux;
while(!isEmpty(p1)) if (s->topo == NULL) return FALSE; 2
{ aux= s->topo;
s->topo =(s->topo)->prox;
pop(&p1,&i); *d=aux->dado;
printf(“\n Pilha: %d”, i); free(aux); 1
} return(TRUE);
return 0; }
}
Pilha - Implementação Dinâmica
int main(void) p1
{
aux
int i;
pilha p1;
create(&p1);
if (isEmpty(p1))
printf(“\n Pilha Vazia“);
else
printf("\n Pilha com Dados");
for(i=1;i<=4;i++)
int pop(pilha *s, int *d)
if (!push(&p1, i)) {
exit(0); struct no *aux;
while(!isEmpty(p1)) if (s->topo == NULL) return FALSE;
{ aux= s->topo;
s->topo =(s->topo)->prox;
pop(&p1,&i); *d=aux->dado;
printf(“\n Pilha: %d”, i); free(aux); 1
} return(TRUE);
return 0; }
}
Pilha - Implementação Dinâmica
int main(void) p1
{
int i;
pilha p1;
create(&p1);
if (isEmpty(p1))
printf(“\n Pilha Vazia“);
else
printf("\n Pilha com Dados");
for(i=1;i<=4;i++)
int pop(pilha *s, int *d)
if (!push(&p1, i)) {
exit(0); struct no *aux;
while(!isEmpty(p1)) if (s->topo == NULL) return FALSE;
{ aux= s->topo;
s->topo =(s->topo)->prox;
pop(&p1,&i); *d=aux->dado;
printf(“\n Pilha: %d”, i); free(aux); 1
} return(TRUE);
return 0; }
}
Pilha - Implementação Dinâmica
int main(void) p1
{
aux
int i;
pilha p1;
create(&p1);
if (isEmpty(p1))
printf(“\n Pilha Vazia“);
else
printf("\n Pilha com Dados");
for(i=1;i<=4;i++)
int pop(pilha *s, int *d)
if (!push(&p1, i)) {
exit(0); struct no *aux;
while(!isEmpty(p1)) if (s->topo == NULL) return FALSE;
{ aux= s->topo;
s->topo =(s->topo)->prox;
pop(&p1,&i); *d=aux->dado;
printf(“\n Pilha: %d”, i); free(aux); 1
} return(TRUE);
return 0; }
}
Pilha - Implementação Dinâmica
int main(void) p1
{
aux
int i;
pilha p1;
create(&p1);
if (isEmpty(p1))
printf(“\n Pilha Vazia“);
else
printf("\n Pilha com Dados");
for(i=1;i<=4;i++)
int pop(pilha *s, int *d)
if (!push(&p1, i)) {
exit(0); struct no *aux;
while(!isEmpty(p1)) if (s->topo == NULL) return FALSE;
{ aux= s->topo;
s->topo =(s->topo)->prox;
pop(&p1,&i); *d=aux->dado;
printf(“\n Pilha: %d”, i); free(aux); 1
} return(TRUE);
return 0; }
}
Pilha - Implementação Dinâmica
int main(void) p1
{
aux
int i;
pilha p1;
create(&p1);
if (isEmpty(p1))
printf(“\n Pilha Vazia“);
else
printf("\n Pilha com Dados");
for(i=1;i<=4;i++)
int pop(pilha *s, int *d)
if (!push(&p1, i)) {
exit(0); struct no *aux;
while(!isEmpty(p1)) if (s->topo == NULL) return FALSE;
{ aux= s->topo;
s->topo =(s->topo)->prox;
pop(&p1,&i); *d=aux->dado;
printf(“\n Pilha: %d”, i); free(aux); 1
} return(TRUE);
return 0; }
}
Pilha - Implementação Dinâmica
int main(void) p1
{
aux
int i;
pilha p1;
create(&p1);
if (isEmpty(p1))
printf(“\n Pilha Vazia“);
else
printf("\n Pilha com Dados");
for(i=1;i<=4;i++)
int pop(pilha *s, int *d)
if (!push(&p1, i)) {
exit(0); struct no *aux;
while(!isEmpty(p1)) if (s->topo == NULL) return FALSE;
{ aux= s->topo;
s->topo =(s->topo)->prox;
pop(&p1,&i); *d=aux->dado;
printf(“\n Pilha: %d”, i); free(aux); 1
} return(TRUE);
return 0; }
}
Pilha - Implementação Dinâmica
int main(void) p1
{
aux
int i;
pilha p1;
create(&p1);
if (isEmpty(p1))
printf(“\n Pilha Vazia“);
else
printf("\n Pilha com Dados");
for(i=1;i<=4;i++)
int pop(pilha *s, int *d)
if (!push(&p1, i)) {
exit(0); struct no *aux;
while(!isEmpty(p1)) if (s->topo == NULL) return FALSE;
{ aux= s->topo;
s->topo =(s->topo)->prox;
pop(&p1,&i); *d=aux->dado;
printf(“\n Pilha: %d”, i); free(aux);
} return(TRUE);
return 0; }
}
Pilha - Implementação Dinâmica
int main(void) p1
{
int i;
pilha p1;
create(&p1);
if (isEmpty(p1))
printf(“\n Pilha Vazia“);
else
printf("\n Pilha com Dados");
for(i=1;i<=4;i++)
int pop(pilha *s, int *d)
if (!push(&p1, i)) {
exit(0); struct no *aux;
while(!isEmpty(p1)) if (s->topo ==NULL) return FALSE;
{ aux= s->topo;
s->topo =(s->topo)->prox;
pop(&p1,&i); *d=aux->dado;
printf(“\n Pilha: %d”, i); free(aux);
} return(TRUE);
return 0; }
}
Pilha - Implementação Dinâmica
int main(void) p1
{
aux
int i;
pilha p1;
create(&p1);
if (isEmpty(p1))
printf(“\n Pilha Vazia“);
else
printf("\n Pilha com Dados");
for(i=1;i<=4;i++)
int pop(pilha *s, int *d)
if (!push(&p1, i)) {
exit(0); struct no *aux;
while(!isEmpty(p1)) if (s->topo==NULL) return FALSE;
{ aux= s->topo;
s->topo =(s->topo)->prox;
pop(&p1,&i); *d=aux->dado;
printf(“\n Pilha: %d”, i); free(aux);
} return(TRUE);
return 0; }
}
Pilha - Implementação Dinâmica
int main(void) p1
{
int i;
pilha p1;
create(&p1);
if (isEmpty(p1))
printf(“\n Pilha Vazia“);
else
printf("\n Pilha com Dados");
for(i=1;i<=4;i++)
if (!push(&p1, i))
exit(0);
while(!isEmpty(p1))
{
pop(&p1,&i);
printf(“\n Pilha: %d”, i);
}
return 0;
}
Exercício 2