Nenhuma animação disponível para revisar!
Fila Dinâmica com Prioridade
(FIFO)
HUB
1/1
NoFila
{
proximo : NoFila;
info : String;
prioridade : inteiro;
}
EstruturaFila
{
inicio : NoFila;
fim : NoFila;
}
novo,leitor,anterior : NoFila;
novo := alocar();
novo.info := INFO;
novo.prioridade := Prioridade;
novo.proximo := nulo;
leitor := Fila.inicio;
 
Enquanto leitor != nulo e leitor.prioridade >= PRIORIDADE então
INICIO
anterior := leitor;
leitor := leitor.proximo;
FIM
 
Se leitor != nulo então
INICIO
Se anterior == nulo então
INICIO
novo.proximo := Fila.inicio;
Fila.inicio := novo;
FIM
Senão
INICIO
novo.proximo := leitor;
anterior.proximo := novo;
FIM
FIM
Senão
INICIO
Se anterior == nulo então
Fila.inicio := novo;
Senão
Fila.fim.proximo := novo;
Fila.fim := novo;
FIM
Se Fila.fim != nulo então
INICIO
rem,retorno : NoFila;
rem := Fila.inicio;
retorno := Fila.inicio.info;
Fila.inicio := Fila.inicio.proximo;
 
Se Fila.inicio == nulo então
Fila.fim := nulo
 
Liberar(rem);
Retornar retorno;
FIM
Retornar nulo;
leitor : NoFila;
posicao : inteiro;
leitor := Fila.ini;
posicao := 0;
 
Enquanto leitor != null então
INICIO
Se leitor.info == INFO então
Retornar posicao;
leitor := leitor.proximo;
posicao := posicao + 1;
FIM
Retornar -1;
Nenhuma animação disponível para revisar!
Executando animação ...
Aguarde encerrar !
Última animação que foi executada:
| # | Descrição |
|---|
Limpar entrada ao final da animação
Chance de gerar número negativo na entrada aleatória:
Ocultar Ponteiros Nulos
Impedir inserção de valores repetidos
Mostrar Descritores
Usar delimitador em chaves
Contar linhas brancas
Pseudo-código
Informações da Estrutura
Entradas Programadas
Rever Passos
Histórico
Fila Dinâmica com Prioridade(FIFO)