Estrutura de dados
Ex: entrada be a bá saídabeabá
#include
#include
#include
void retirabranco (char *origem){ //função que retira os espaços for(int i=0;itopo= -1; return p;
}
int pilha_vazia(Pilha *p)
{
return (p->topo== -1);
}
void pilha_push (Pilha *p, float v)
{
if (p->topo==N-1){ printf("Capacidade da pilha esgotada.\n"); return; } p->topo++; p->vet[p->topo]=v; }
float pilha_pop (Pilha *p)
{
float v; v=p->vet[p->topo]; p->topo--; return v;
}
void pilha_libera(Pilha *p)
{
free (p);
}
void mostra_pilha(Pilha *p)
{
printf("Conteudo da pilha.\n"); for (int i=p->topo;i>=0;i--) printf("%0.f\n",p->vet[i]); printf("\n");
}
void menu()
{
system ("cls"); printf("Escolha uma das opcoes do menu: \n"); printf("1. Empilha (push) \n"); printf("2. Retira (pop)\n"); printf("3. Mostra a pilha\n"); printf("4. Empilha \n"); printf("5. Fim\n");
}
#include
#include
#include
#include "pilha.h"
void empilhaPilha(Pilha *P1, Pilha *P2)
{
Pilha *AUX = pilha_cria(); // Cria uma pilha auxiliar
while(!pilha_vazia(P2)) { float X = pilha_pop(P2); // Retira 1 elemento de P2 pilha_push(P1, X); // Joga o elemento retirado de P2 em P1 para empilhar pilha_push(AUX, X); // Joga o elemento retirado de P2 na pilha auxiliar }
while(!pilha_vazia(AUX)) { pilha_push(P2, pilha_pop(AUX)); // retira os elementos de AUX e volta para a pilha P2 }
}
int main()
{
Pilha *P1=pilha_cria(); Pilha