Você está na página 1de 2

Listas Encadeadas Circulares

Índice > Lista > Circular

http://www.icmc.usp.br/~sce182/lcirc.html

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 e Rosane

Listas Encadeadas Circulares

Nestas listas, um procedimento comum que devemos fazer é o de busca. Veremos a seguir como realizar buscas em listas circulares encadeadas. O conceito de sentinela é também utilizado.

O trecho do algoritmo abaixo é o de busca e inserção em lista encadeada ordenada. Quando consideramos uma lista circular encadeada, podemos utilizar um registro auxiliar, como indicado no algoritmo de busca abaixo:

auxiliar, como indicado no algoritmo de busca abaixo: Observação: Este, assim como os demais algoritmos de

Observação: Este, assim como os demais algoritmos de busca apresentados até o momento, supõe que o campo de informação do nó (tipo T) é 'ordenável', isto é, pode ser comparado com um outro componente do mesmo tipo por expresões (<,<,=,<=,>=); ou então, que existe um campo de chave que pode ser comparado. Isso não é de fato implementado assim.

-> De acodo com a dicussão sobre esse assunto em sala de aula, responda: Qual é alternativa para campos "não ordenáveis". Implemente a alternativa como exercício.

{ Busca em uma lista circular encadeada ordenada com sentinela. O sentinela é o primeiro elemento da lista circular apontado por ptlista }

Procedure busc_circ (ptlista: Lista; x: T ; Var p,pa:Lista); Var ant, pont: Lista; Begin ant:=ptlista; {sentinela} ptlista^.info = x; pont:=ptlista^.lig; {primeiro elemento} While pont^.info < x do Begin ant:=pont; pont:=pont^.lig; End; If pont^.info = x and (pont<>ptlista) then {elemento já existe,

devolver os ponteiros necessários para eliminação}<- Completar como exercício Else {elemento não existe,

devolver os ponteiro necessários para inserção} <- Completar como exercício

End;

-> Desenvolver o TAD Lista Ordenada e implementar os demais algoritmos de lista

para ele, supondo organização circular simplesmente encadeada e duplamente encadeada.

Listas Encadeadas Circulares

ExercíciosListas Encadeadas Circulares Lista http://www.icmc.usp.br/~sce182/lcirc.html 2 de 2 25/2/2008 20:04

ListaListas Encadeadas Circulares Exercícios http://www.icmc.usp.br/~sce182/lcirc.html 2 de 2 25/2/2008 20:04

http://www.icmc.usp.br/~sce182/lcirc.html