TrabalhosGratuitos.com - Trabalhos, Monografias, Artigos, Exames, Resumos de livros, Dissertações
Pesquisar

O Recurssividade Na Informática

Por:   •  20/11/2020  •  Trabalho acadêmico  •  968 Palavras (4 Páginas)  •  160 Visualizações

Página 1 de 4

#include <iostream>

using namespace std;

//Registro de dados usado para armazenar as informações de cada nó da

//pilha

struct pacote{

string ID;

pacote *prox = NULL;

};

//Classe pilha

class pilha{

private:

pacote *topo;

public:

pilha(); //construtor

~pilha(); //destrutor

void empilha(pacote entrada);

string desempilha();

bool vazia();

//método para depuração - imprime os valores armazenados sem

//desempilhar

void depura();

};

pilha::pilha(){

topo = NULL;

};

pilha::~pilha(){

while (!vazia()){

desempilha();

}

delete topo;

};

void pilha::empilha(pacote entrada){

pacote *novo = new pacote; // alocação do novo nó

*novo = entrada; //inserção da informação no novo nó

novo->prox = topo; //novo nó "aponta" para o topo da pilha

topo = novo; //o topo passa a ser o nó inserido

};

string pilha::desempilha(){

string excluido;

if (!vazia()){

pacote *apagar;//criação de um ponteiro auxiliar

apagar = topo;//auxiliar recebe o endereço do topo

topo = topo->prox;//topo é atualizado

excluido = apagar->ID;

apagar->prox = NULL;

delete apagar; //nó do topo é apagado

} else {

excluido = "-";

}

return excluido;

};

bool pilha::vazia(){

if (topo == NULL)

return true;

else

return false;

};

//impressão sem destruição da pilha

void pilha::depura(){

pacote *auxiliar = topo;

if (!vazia()){

while (auxiliar != NULL){

cout<<auxiliar->ID<<endl;

auxiliar = auxiliar->prox;

}

} else {

cout<<"ITEM NAO CADASTRADO"<<endl;

}

};

int main(){

//CRIE O PROGRAMA PARA MANIPULAR A ROTA DE ENTREGA AQUI

pilha *Pilha = new pilha();

pilha *OutraPilha = new pilha();

...

Baixar como (para membros premium)  txt (3.2 Kb)   pdf (36.9 Kb)   docx (9.3 Kb)  
Continuar por mais 3 páginas »
Disponível apenas no TrabalhosGratuitos.com