Olá boa tarde, Alguém pode me ajudar?!!
Desenvolva um algoritmo para testar se duas pilhas P1 e P2 são iguais. Duas
pilhas são iguais se possuem os mesmos elementos, na mesma ordem. Você pode
utilizar pilhas auxiliares também, se necessário.
Exemplo abaixo
#include <stdio.h> #include <stdlib.h> #include "Pilha.h" TipoPilha* InicializaPilha (TipoPilha *Topo) { return NULL; } int Vazia (TipoPilha *Topo) { if (Topo==NULL) return 1; else return 0; } void ImprimirPilha (TipoPilha *Topo) { TipoPilha *ptaux; if (Topo != NULL) { puts("---Imprimindo pilha---"); for (ptaux=Topo; ptaux!=NULL; ptaux=ptaux->elo) printf("%d\n",ptaux->dado); puts("-------Fim pilha------"); } else puts("Pilha vazia"); } TipoPilha* PushPilha (TipoPilha *Topo, TipoInfo Dado) { TipoPilha *novo; //novo elemento /*aloca um novo nodo */ novo = (TipoPilha*) malloc(sizeof(TipoPilha)); novo->elo = NULL; /*insere a informação no novo nodo*/ novo->dado = Dado; /*encaeia o elemento*/ novo->elo = Topo; Topo = novo; return Topo; } TipoPilha* PopPilha (TipoPilha *Topo, TipoInfo *Dado) { TipoPilha* ptaux; if (Topo == NULL) return NULL; //não tem nada na pilha else { *Dado = (Topo)->dado; //devolve o valor do topo ptaux = Topo; //guarda o endereço do topo Topo = (Topo)->elo; //o próximo passa a ser o topo free(ptaux); //libera o que estava no topo ptaux=NULL; return Topo; //retorna novo topo } } TipoInfo ConsultaPilha (TipoPilha *Topo) { if (Topo==NULL) return 0; else return Topo->dado; } TipoPilha* DestroiPilha (TipoPilha *Topo) { TipoPilha *ptaux; while (Topo != NULL) { ptaux = Topo; //guarda o endereço do topo Topo = Topo->elo; //o próximo passa a ser o topo free(ptaux); //libera o que estava no topo } return NULL; }
Para montar o algoritmo, utilizaremos a linguagem Java. Ela é uma linguagem de programação de computadores de uso geral que é simultânea, baseada em classe, orientada a objetos, e especificamente projetada para ter o menor número possível de dependências de implementação.
O objetivo é permitir que os desenvolvedores de aplicativos " gravem uma vez, executem em qualquer lugar ", significando que o código Java compilado pode ser executado em todas as plataformas que suportam Java sem a necessidade de recompilação. Os aplicativos Java são normalmente compilados para o bytecode que pode ser executado em qualquer máquina virtual Java (JVM),
Sabendo disso, teremos o seguinte algoritmo:
#include <stdio.h>
#include <stdlib.h>
#include "Pilha.h"
ilha* InicializaPilha (TipoPilha *Topo)
{
return NULL;
}
int Vazia (Pilha *Topo)
{
if (Topo==NULL)
return 1;
else
return 0;
public class Teste {
public static void main(String[] args) {
Pilha pilha = new Pilha();
Peca pecaInsere = new Peca();
pilha.insere(pecaInsere);
Peca pecaRemove = pilha.remove();
if (pilha.vazia()) {
System.out.println("A pilha está vazia");
}
}
}
}
Para montar o algoritmo, utilizaremos a linguagem Java. Ela é uma linguagem de programação de computadores de uso geral que é simultânea, baseada em classe, orientada a objetos, e especificamente projetada para ter o menor número possível de dependências de implementação.
O objetivo é permitir que os desenvolvedores de aplicativos " gravem uma vez, executem em qualquer lugar ", significando que o código Java compilado pode ser executado em todas as plataformas que suportam Java sem a necessidade de recompilação. Os aplicativos Java são normalmente compilados para o bytecode que pode ser executado em qualquer máquina virtual Java (JVM),
Sabendo disso, teremos o seguinte algoritmo:
#include <stdio.h>
#include <stdlib.h>
#include "Pilha.h"
ilha* InicializaPilha (TipoPilha *Topo)
{
return NULL;
}
int Vazia (Pilha *Topo)
{
if (Topo==NULL)
return 1;
else
return 0;
public class Teste {
public static void main(String[] args) {
Pilha pilha = new Pilha();
Peca pecaInsere = new Peca();
pilha.insere(pecaInsere);
Peca pecaRemove = pilha.remove();
if (pilha.vazia()) {
System.out.println("A pilha está vazia");
}
}
}
}
Para montar o algoritmo, utilizaremos a linguagem Java. Ela é uma linguagem de programação de computadores de uso geral que é simultânea, baseada em classe, orientada a objetos, e especificamente projetada para ter o menor número possível de dependências de implementação.
O objetivo é permitir que os desenvolvedores de aplicativos " gravem uma vez, executem em qualquer lugar ", significando que o código Java compilado pode ser executado em todas as plataformas que suportam Java sem a necessidade de recompilação. Os aplicativos Java são normalmente compilados para o bytecode que pode ser executado em qualquer máquina virtual Java (JVM),
Sabendo disso, teremos o seguinte algoritmo:
#include <stdio.h>
#include <stdlib.h>
#include "Pilha.h"
ilha* InicializaPilha (TipoPilha *Topo)
{
return NULL;
}
int Vazia (Pilha *Topo)
{
if (Topo==NULL)
return 1;
else
return 0;
public class Teste {
public static void main(String[] args) {
Pilha pilha = new Pilha();
Peca pecaInsere = new Peca();
pilha.insere(pecaInsere);
Peca pecaRemove = pilha.remove();
if (pilha.vazia()) {
System.out.println("A pilha está vazia");
}
}
}
}
Para escrever sua resposta aqui, entre ou crie uma conta
Compartilhar