1 / 9

Implementação de FILAS com Alocação Dinâmica

Implementação de FILAS com Alocação Dinâmica. Especificação da Interface. Especificação da Interface. Foi utilizada uma estrutura chamada nodo contendo um campo item do tipo Elemento e um campo prox;

clyde
Download Presentation

Implementação de FILAS com Alocação Dinâmica

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Implementação de FILAS com Alocação Dinâmica

  2. Especificação da Interface

  3. Especificação da Interface • Foi utilizada uma estrutura chamada nodo contendo um campo item do tipo Elemento e um campo prox; • O TAD Fila por sua vez é uma estrutura contendo os campos inicio e fim que são apontadores para struct nodo (Nodo).

  4. Declarando uma Pilha • Uma variável to tipo TadFila é uma estrutura contendo estes dois campos. Por exemplo, a seqüência: TadFila q; inicio=NULL; fim= NULL; • Define a estrutura:

  5. Inserindo um elemento

  6. Inserindo um Elemento • Existem duas situações que devem ser tratadas diferentemente: Quando a Fila está vazia e quando não está vazia. A seguinte seqüência de passos deve ser utilizada: • aloca o novonodo • atribui os valores ao novo nodo • Se a fila está vazia • inicio = novonodo • fim = novonodo • Senão • o prox do nodo apontado por fim recebe o novonodo • fim=novonodo

  7. Função de inserção

  8. Remoção • A remoção deve guardar o valor que está no fim da Fila, atualizar o ponteiro de Fim e liberar o nodo que estava no fim. Os seguintes passos devem ser seguidos: • Se a Fila não está vazia • Guarda o valor contido no nodo a ser eliminado (que está no inicio da Fila) • Guarda o endereço do nodo a ser eliminado (inicio) em uma variável auxiliar (aux) • Inicio recebe o próximo de inicio • Libera a área apontada por aux

  9. Operação removeDaFila

More Related