Logica_de_Programacao_3_Edicao_Livro
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
Capítulo 7 Estruturas de dados avançadas 1 157
Em outro exen1plo, imaginemos a preparação de u1na lista de larefas a sere1n cu1npridas
110 centro da cidade. Inicialme11te, cada atividade é relacio11ada, co11for1ne vai surgit1do na
1ne1nória, até que se esgoten1. Temos, então, o seguinte:
Lista de tarefas
1. Pagar as contas no banco
2. Comprar os 1 i vros na 1 i vrari a
3. Deixar o carro no estacionamento
4. Pegar algumas fitas na videolocadora
5. Enviar correspondências pelo Correio
6. Buscar as fotos reveladas
7. Autenticar documentos no Cartório
8. Passar na banca de jornais
Agora, um pouco de planejamento: é preciso estabelecer un1a ordem a ser seguida conforme
os rnais variados critérios (pré-requisitos, prioridades, proxirnidade geográfica etc.). Porén1,
não iremos reescreve r a lista, varnos apenas acrescentar uma coluna, co1no apresentado
.
a seguir:
Lista de tarefas
Começo em: 3
Item
Próximo
1 . Pagar as contas no banco 6
2. Comprar os livros na livraria 4
3. Deixar o carro no estacionamento 8
4. Pegar algumas fitas na videolocadora Final
5. Enviar correspondências pelo Correio 1
6. Buscar as fotos reveladas 2
7. Autenticar documentos no Cartório 5
8. Passar na banca de jornais 7
1en10s, então, a n1es1na linha de antes, só que agora ela está e ncadeada, porque cada
ele111ento 'apo11ta para ' u1n sucessor, ou seja, cada ele1ne11to indica o próxi1110 d a lista co1110
se apontasse para este.
D ECLARAÇÃO
Para representar a lista do exemplo, precisamos do seguinte vetor ele registros:
tipo reg = registro
caracter: item;
inteiro: PROX;
fimregistro;
tipo VET = vetor [1 .. 100] de reg;
VET: 1 i sta;
inteiro: começo;
começo~ 3;