Você está na página 1de 3

LISTA DE EXERCCIOS 2

Lista, fila e pilha


Profs.: Thiago M. Paixo e Marcos Sade 1. Como implementar a funo de remoo da lista ?

2. Critique a funo abaixo. Ao receber uma lista encadeada com cabea e um inteiro , ela promete devolver o endereo de uma clula (n) com contedo . Se tal clula no existe, promete devolver NULL.

3. Mostre como uma pilha pode ser implementada utilizando duas filas. Analise o tempo das operaes de empilhar (PUSH) e desempilhar (POP). 4. Considere uma pilha vazia e uma fila no vazia, ambas de valores inteiros. Utilizando apenas os testes de fila e pilha vazias, as operaes Enfileira, Desenfileira, Empilha, Desempilha, e uma varivel aux do tipo inteiro, escreva uma funo que inverta a ordem dos elementos da fila.

5. Teste o programa a seguir:

6. Escreva uma funo em C/C++ para trocar os elementos e de uma lista ( ser chaves ou mesmo ponteiros para os elementos a escolha sua).

podem

7. Considere listas implementadas por encadeamento duplo, ento pede-se para implementar funes que: a) Pesquise (search) elementos; b) Concatenar/intercalar (Merge) duas listas; c) Copiar uma lista. 8. Escreva um algoritmo que use uma pilha para inverter a ordem das letras de cada palavra de uma string, preservando a ordem das palavras. Por exemplo, dado o texto ESTE EXERCICIO E MUITO FACIL a sada deve ser ETSE OICICREXE E OTIUM LICAF. (Lembre-se: strings em C/C++ terminam com '\0'.)

REFERNCIAS
[1] ZIVIANI, N. Projeto de Algoritmos com implementaes em Pascal e C. 2.ed. Thomson Pioneira, 2004. [2] http://www.decom.ufop.br/menotti/aedI082/listas/lista09-Fila.pdf (acessado em 30/01/2012). [3] http://www.decom.ufop.br/toffolo/site_media/uploads/20111/bcc202/exercicios/lista_04._listas.pdf (acessado em 30/01/2012). [4] http://www.ime.usp.br/~pf/algoritmos/aulas/lista.html (acessado em 30/01/2012).