Procura Linear com Sentinela



next up previous contents
Next: Procura Binária Up: Algoritmos de Procura Previous: Procura Linear

Procura Linear com Sentinela

Este algoritmo é uma simplificação do anterior, a ideia é garantir que o valor a procurar é sempre encontrado para, deste modo, não ser necessário estar sempre a testar o fim da tabela no ciclo enquanto. Para tal, é adicionado um elemento à tabela (a sentinela), e sempre que se pretende procurar um valor ele é colocado na sentinela. Temos, então,que redefinir o tipo Lista para:

= tab [MAX+1] de REAL;
e o algoritmo para a lista de Reais é:

 

Suponha, agora, que se pretendem registar as classificações de um rally. Como à partida não se sabe quantos carros vão participar em cada prova, necessitamos de um estrutura de dados que nos permita registar um número variável de participantes. Vamos considerar a seguinte estrutura de dados:

 

em que CARROS é a tabela com as fichas dos carros (colocadas sequencialmente no início da tabela) e TOTAL indica quantos carros foram classificados (o números de elementos da tabela)gif.

Para escrevermos um algoritmo que procure a ficha de um dado piloto, utilizando procura linear com sentinela, teremos que efectuar no algoritmo 4.3 as seguintes adaptações:

O algoritmo será então:

 



Jose Franscisco Creissac Campos
Wed Jan 31 22:03:31 MET 1996