90 likes | 229 Views
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;
E N D
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).
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:
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
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