






Estude fácil! Tem muito documento disponível na Docsity
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Prepare-se para as provas
Estude fácil! Tem muito documento disponível na Docsity
Prepare-se para as provas com trabalhos de outros alunos como você, aqui na Docsity
Encontra documentos específicos para os exames da tua universidade
Prepare-se com as videoaulas e exercícios resolvidos criados a partir da grade da sua Universidade
Responda perguntas de provas passadas e avalie sua preparação.
Ganhe pontos para baixar
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Material de Apoio as aulas de Programação
Tipologia: Notas de aula
1 / 11
Esta página não é visível na pré-visualização
Não perca as partes importantes!







type Ponteiro = ^TipoNo; TipoItem = record Chave: TipoChave; {outras declarações desejadas...} end; TipoNo = record Item: TipoItem; Prox: Ponteiro; end; TipoFila = record Frente: Ponteiro; Retaguarda: Ponteiro; end;
procedure Enfileirar (x:TipoItem; var Fila:TipoFila); begin new(Fila.Retaguarda^.Prox); Fila.Retaguarda := Fila.Retaguarda^.Prox; Fila.Retaguarda^.Item := x; Fila.Retaguarda^.Prox := nil; end; end; procedure Imprimir (Fila: TipoFila); var pont : Ponteiro; {Não passar a fila como referência. Ao sair do algoritmo, a fila estará com os elementos intactos} begin while not Vazia (F) do begin Desenfileirar (F, pont); writeln(pont^.Item.Chave); end; end;
procedure Desenfileirar (var Fila:TipoFila; var x:TipoItem); var Paux: Ponteiro; begin if Vazia(Fila) then writeln(‘Underflow’) else begin Paux := Fila.Frente^.Prox; Fila.Frente^.Prox := Paux^.Prox; x := Paux^.Item; dispose(Paux); end; end;