Correções do código apresentado (#19937)

* Correções do código apresentado

Identação do código apresentado em JavaScript para melhor entendimento além de algumas correções e tradução do termo First In First Out para quem não fala inglês ter uma melhor noção do conceito.

* Correções no código JavaScript apresentado

* Update index.md
This commit is contained in:
Eduardo Airton
2018-11-08 08:10:29 -02:00
committed by Randell Dawson
parent c0115cae0a
commit 2aaf1b0367

View File

@ -1,15 +1,15 @@
---
title: Queues
localeTitle: caudas
localeTitle: Filas
---
## Filas
Fila é uma Estrutura de Dados First In First Out (FIFO). Muitos algoritmos usam filas em seu núcleo para melhorar o desempenho.
Fila é uma Estrutura de Dados First In First Out (FIFO) em português o primeiro a entrar é o primeiro a sair. Muitos algoritmos usam filas em seu núcleo para melhorar o desempenho.
A fila é um dos tipos abstratos de dados abstratos (ADT). É semelhante a filas que temos em filmes ou supermercados. A primeira pessoa a chegar será servida primeiro, certo? Da mesma forma, o primeiro elemento a ser inserido será removido primeiro. Existem vários tipos de filas, como
1. Fila Simples (ou Fila)
2. Fila Circular
2. Fila Circular (ou Simplismente encadeada)
3. Fila de prioridade
4. Dequeue (fila dupla terminada)
@ -17,18 +17,53 @@ Se você puder entender a fila simples (que daqui em diante será chamada de 'Fi
As operações mais comuns disponíveis na fila são,
1. Adicionar / Oferecer - insere um elemento no final da fila.
2. Remover / Pesquisar - Remove um elemento do começo da fila.
1. Add / Offer - insere um elemento no final da fila.
2. Remove / Poll - Remove um elemento do começo da fila.
3. Peek - Retorna o elemento no início da fila, mas não o remove.
4. Tamanho / Contagem - Retorna o número de elementos atualmente presentes na fila.
4. Size / Count - Retorna o número de elementos atualmente presentes na fila.
5. IsEmpty - Verifique se a fila está vazia ou não.
A implementação de uma fila é possível usando arrays ou listas vinculadas. A seguir, uma implementação de matriz simples da estrutura de dados da fila com suas operações mais comuns.
\`\` \`JavaScript
var Queue = function () { var queue = \[\]; var front = 0; var back = 0; Retorna { isEmpty: function () { retornar frente> = voltar || queue.length === 0; } add: function (elem) { / \* Você também pode fazer queue.push (elem) em JavaScript. É assim que eles fazem em outros idiomas \* / fila \[voltar ++\] = elem; } remove: function () { if (! this.isEmpty ()) { fila de retorno \[frente ++\]; // ou queue.shift () } outro { throw new Error ("Fila está vazia"). } } espiada: function () { if (! this.isEmpty ()) { fila de retorno \[frente\]; } } } };
```javascript
var Fila = function() {
var fila = [];
var inicio = 0;
var final = 0;
return {
isEmpty: function() {
return inicio >= final || fila.length === 0;
},
add: function(elem) {
/* Você também pode fazer fila.push(elem) em JavaScript.
Assim é como se fazem em outras linguagens */
fila[final++] = elem;
},
remove: function() {
if (!this.isEmpty()) {
return fila[inicio++]; // ou fila.shift()
}
else {
throw new Error("A fila está vazia.");
}
},
peek: function() {
if (!this.isEmpty()) {
return fila[inicio];
}
}
}
};
var queue = new Fila (); console.log (queue.isEmpty ()); // verdade queue.add (1); fila.add (2); console.log (queue.remove ()); // 1 console.log (queue.peek ()); // 2 console.log (queue.remove ()); // 2 console.log (queue.remove ()); // exception \`\` \`
var fila = new Fila();
console.log(fila.isEmpty()); // Verdadeiro
fila.add(1);
fila.add(2);
console.log(fila.remove()); // 1
console.log(fila.peek()); // 2
console.log(fila.remove()); // 2
console.log(fila.remove()); // exception
```
#### Aplicações