Please enable JavaScript.
Coggle requires JavaScript to display documents.
Stacks e Queues, Stacks(Pilhas), Queues(Filas) - Coggle Diagram
-
Stacks(Pilhas)
Linked Stacks
-
O nó de cabeçalho não é usado porque nenhum código de caso especial é necessário para listas de zero ou um elemento.
O único membro de dados é o top, um ponteiro para o primeiro link node (top) da pilha.
Push e Pop
O método push primeiro modifica o próximo campo do link node recém-criado para apontar para o topo da pilha e, em seguida, define top para apontar para o novo link node
No método pop, a variável temp armazena o valor do nó superior, enquanto ltemp mantém um link para o nó superior à medida que ele é removido da pilha. A pilha é atualizada configurando top para apontar para o próximo elemento da pilha. O nó superior antigo é então retornado para o armazenamento gratuito (ou lista livre) e o valor do elemento é retornado como o valor do método pop.
Array-Based Stacks
-
O método top atua como um valor de posição atual (porque a posição “atual” está sempre no topo da pilha), além de indicar o número de elementos atualmente na pilha.
-
-
LIFO
“LIFO”, que significa “Last-In, First-Out”. Uma implicação da política LIFO é que as pilhas removem os elementos na ordem inversa de sua chegada.
-
Diferente das lista, os elementos podem ser inseridos ou removidos de apenas uma extremidade.
-
Queues(Filas)
Linked Queues
-
Os métodos front e rear são ponteiros para o primeiro e último elementos da fila , respectivamente.
Na inicialização, os ponteiros front e rear apontarão para o nó do cabeçalho, e o front sempre apontará para o nó do cabeçalho, enquanto o rear apontará para o último nó de link verdadeiro na fila.
Usar um link node de cabeçalho, que permite uma implementação mais simples da operação de enfileiramento, evitando quaisquer casos especiais quando a fila está vazia
enqueue e dequeue
O método enfileirar(enqueue) coloca o novo elemento em um link node no final da lista vinculada (ou seja, o nó para o qual rear aponta) e então rear(incrementa) e aponta para o novo link node.
-
Array-Based Queues
-
Fila vazia ou cheia?
Se front e rear tiverem a mesma posição, então com este esquema deverá haver um elemento na fila.
A fila vazia/cheia seria reconhecida tendo rear sendo um a menos que front (levando em conta o fato de que a fila é circular, então o tamanho da posição-1 é na verdade considerado como sendo um a menos que a posição 0).
-
FIFO
“FIFO”, que significa “First-In, First-Out”. Uma implicação da política FIFO é que as filas removem os elementos na ordem de sua chegada.
-
Diferente das listas e pilhas, os elementos da fila só podem ser inseridos na parte traseira (operação de enfileiramento(enqueue operation)) e removidos na frente (operação de desenfileiramento(dequeue operation)).
-