- Como você deve saber, uma estrutura de dados é um meio de organizar
- dados. A estrutura de dados mais simples é o array, uma lista linear que permite o acesso aleatório aos seus elementos. Com frequência, os arrays são usados como base para estruturas de dados mais sofisticadas, como as pilhas e filas.
- Pilha é uma lista em que os elementos só podem ser acessados na ordem primeiro a entrar, último a sair (FILO, first-in, last-out). Fila é uma lista em que os elementos só podem ser acessados na ordem primeiro a entrar, primeiro a sair (FIFO, first-in, last-out). Logo, uma pilha é como uma pilha de pratos em uma mesa – o primeiro de baixo para cima é o último a ser usado. Uma fila é como a fila em um banco – o
- O primeiro da fila é o primeiro a ser atendido.
- O que torna estruturas de dados como as pilhas e filas interessantes é que elas combinam o armazenamento de informações com os métodos que as acessam. Portanto, as pilhas e filas são máquinas de dados em que o armazenamento e a recuperação são fornecidos pela própria estrutura de dados e não manualmente pelo programa. É claro que essa combinação é uma ótima opção para uma classe e neste projeto você criará uma classe de fila simples.
- Em geral, as filas dão suporte a duas operações básicas: put e get. Cada operação put insere um novo elemento no fim da fila. Cada operação get recupera o próximo elemento do início da fila. As operaçoes de fila têm natureza consumidora:
- quando um elemento é retirado, não pode ser recuperado novamente. A fila também pode ficar cheia, se não houver espaço disponível para armazenar um item, e vazia, se todos os elementos tiverem sido removidos.
- Uma última coisa: há dois tipos básicos de filas – circular e não circular. Uma fila circular reutiliza os locais do array subjacente quando elementos são removidos.
- Usa length para comparar tamanhos de arrays.
Uma fila não circular não reutiliza os locais e acaba se exaurindo. Para simplificar, esse exemplo cria uma fila não circular, mas com um pouco de raciocínio e esforço, você pode transformá-la facilmente em uma fila circular.
QDemo.java
For further actions, you may consider blocking this person and/or reporting abuse
Top comments (0)