Escreva os comandos para montar a pilha apresentada abaixo, conforme o modelo:
Quando há mais de um elemento na mesma posição da pilha (linha na representação),
significa que o da esquerda foi removido, antes da inclusão do outro elemento.
_________J_________
________H I________
________G__________
________D E F______
________B C ________
________A___________
Para responder essa pergunta devemos colocar em prática nosso conhecimento sobre Algoritmo e Estrutura de Dados.
Abaixo é apresentado a função empilha, ou seja, caso o usuário deseje adicionar algum elemento a pilha. O código da função é apresentado a seguir.
/* empilhar (adicionar) um elemento da pilha */
int empilhar (Pilha * monte, char *dado){
Elemento *novo_elemento;
if ((novo_elemento = (Elemento *) malloc (sizeof (Elemento))) == NULL)
return -1;
if ((novo_elemento->dado = (char *) malloc (50 * sizeof (char)))
== NULL)
return -1;
strcpy (novo_elemento->dado, dado);
novo_elemento->próximo = monte->início;
monte-> início = novo_elemento;
monte->tamanho++;
}
Por fim, é apresentado a função desempilha, ou seja, caso o usuário deseje remover algum elemento a pilha. O código da função é apresentado a seguir.
int desempilhar (Pilha * monte){
Elemento *remov_elemento;
if (monte->tamanho == 0)
return -1;
remov_elemento = monte->início;
tas-> início = tas->início->próximo;
free (remov_elemento->dado);
free (remov_elemento);
monte ->tamanho--;
return 0;
}
Portanto, é apresentado nas funções acima códigos para acrescentar e retirar elementos de pilhas, podendo ser adaptado e implementado em qualquer código, independentemente da natureza ou objetivo do mesmo.
Para responder essa pergunta devemos colocar em prática nosso conhecimento sobre Algoritmo e Estrutura de Dados.
Abaixo é apresentado a função empilha, ou seja, caso o usuário deseje adicionar algum elemento a pilha. O código da função é apresentado a seguir.
/* empilhar (adicionar) um elemento da pilha */
int empilhar (Pilha * monte, char *dado){
Elemento *novo_elemento;
if ((novo_elemento = (Elemento *) malloc (sizeof (Elemento))) == NULL)
return -1;
if ((novo_elemento->dado = (char *) malloc (50 * sizeof (char)))
== NULL)
return -1;
strcpy (novo_elemento->dado, dado);
novo_elemento->próximo = monte->início;
monte-> início = novo_elemento;
monte->tamanho++;
}
Por fim, é apresentado a função desempilha, ou seja, caso o usuário deseje remover algum elemento a pilha. O código da função é apresentado a seguir.
int desempilhar (Pilha * monte){
Elemento *remov_elemento;
if (monte->tamanho == 0)
return -1;
remov_elemento = monte->início;
tas-> início = tas->início->próximo;
free (remov_elemento->dado);
free (remov_elemento);
monte ->tamanho--;
return 0;
}
Portanto, é apresentado nas funções acima códigos para acrescentar e retirar elementos de pilhas, podendo ser adaptado e implementado em qualquer código, independentemente da natureza ou objetivo do mesmo.
Para escrever sua resposta aqui, entre ou crie uma conta
Compartilhar