Exercícios – Pilhas

Share
  1. Qual o principal comportamento esperado da inclusão e exclusão de elementos em uma pilha?
  2. Explique como devem funcionar as operações push() e pop() em uma pilha.
  3. Utilizando vetores, funções e estruturas, construa uma pilha para números inteiros, com capacidade para 10 elementos. Usando os tipos e funções definidos, faça:
    • Crie uma pilha s e empilhe 10 números aleatórios. Imprima cada número antes de empilhar.
    • Crie uma rotina que imprima todos os elementos da pilha e ao final deixa a pilha em seu estado inicial. Dica: Crie uma segunda pilha do mesmo tipo, aux para guardar temporariamente os elementos.
    • Repita o item anterior, mas imprima os elementos na ordem em que foram adicionados na pilha.
  4. Crie uma rotina que imprima todos os elementos da pilha e ao final deixa a pilha em seu estado inicial. Dica: Crie uma segunda pilha do mesmo tipo, aux para guardar temporariamente os elementos.
  5. Repita o item anterior, mas imprima os elementos na ordem em que foram adicionados na pilha.
  6. Usando alocação dinâmica de memória, funções e estruturas, construa uma pilha para números reais, com capacidade definida no ato de se criar a pilha através de uma função. Usando os tipos e funções definidas:
    • Crie uma calculadora pós-fixada ou de notação polonesa inversa onde empilha-se os operandos até que um operador seja fornecido. Então, desempilha-se dois operandos e o resultado da operação é empilhado novamente. Por exemplo, a seqüência 1 5 4 - + é interpretada como 1 + ( 5 - 4 ).
      Entrada	Pilha
      1	1
      5	1 5
      4	1 5 4
      -	1 1
      +	2
      
    • Teste imprima o resultado final das seguintes expressões: 1 5 4 – +; 3 4 + 2 – 2 3 + +
  7. Crie uma função que dada uma cadeia de caracteres(string) como parâmetro, retorne verdadeiro se os pares de chaves, parênteses e colchetes estão fechados corretamente(Ex: "{Nome}" "{Casa(Numero)}" "{a(12)31[b]c}c") ou falso caso contrário (Ex: "{Nome]" "(Casa{Numero)}" "{a(12)31(b]c}c"). Crie um programa de teste para a função. Dica: percorra os elementos da string empilhando os “{“, “(” ou “[” que encontrar. Caso entre um “}”,”)” ou “]” verificar se ele é par do último valor empilhado.
Share

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

*