DEV Community

Tente Isto 5-2 Uma classe Queue

  • 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

Top comments (0)