Índice > Pilha > Exercícios

Instituto de Ciências Matemáticas de São Carlos
Departamento de Computação e Estatística
SCE182 - Algoritmos e Estruturas de Dados 1
Profs. Resp.: Graça Pimentel e Maria Cristina

Exercícios

1) Seja a função esvazie( ) tal que, recebendo uma pilha como entrada, esvazie a pilha descartando todos os seus elementos. Escreva a função esvazie( )

2) Escreva um programa que verifique que expressões aritméticas estão com a parentização correta. Guarde o resultado numa pilha também. Seu programa deve checar expressões para ver se cada "abre parênteses" tem u m "fecha parênteses" correspondente.

3) Escreva um algoritmo que converta uma expressão escrita na notação parentizada no seu equivalente na notação polonesa reversa.

4) Uma palavra é uma palíndrome se a seqüência de letras que a forma é a mesma seja ela lida da esquerda para a direita ou vice-versa. Exemplos: arara, rairar, hanah. Escreva a função palíndrome que, dada uma palavra, r etorne true caso a palavra seja uma palíndrome, e false caso contrário.

5)Sobre pilhas múltiplas:

a) Escreva os algoritmos para push e pop para o caso acima, isto é, duas pilhas alocadas num mesmo array.

b) Escreva um programa que implementa múltiplas pilhas. Utilize inicialização equilibrada. Utilize também uma das técnicas para "adiamento" de overflow. Faça um editor interativo de pilhas o qual permite ao usuário especificar como opções:


Pilha