Inserindo e removendo itens de uma fila em C
Por: Juliana2017 • 22/1/2018 • 813 Palavras (4 Páginas) • 267 Visualizações
...
inicio -> ant = NULL;
filaFim = inicio;
filaInicio = inicio;
}
else{
aux = inicio;
inicio = inicio -> ant;
filaInicio = inicio;
free(aux);
}
}
void insereFIM(struct node *PFim, int valor){
if(PFim == NULL){
printf("\nImpossivel inserir...\n");
return;
}
struct node *aux;
aux = (struct node*) malloc(sizeof(struct node));
aux -> val = valor;
if(PFim -> val == NULL){ //Se caso não houver elementos, apenas um nó vazio.
PFim = aux;
aux -> ant = NULL;
filaFim = aux;
filaInicio = aux;
}
else{
PFim -> ant = aux;
aux -> ant = NULL;
filaFim = aux;
}
}
//ta errado, a impressão é desenfileirando... isso foi um teste.
void imprimeFila(struct node *PFim){
struct node *aux = PFim;
if(aux -> val == NULL){
printf("\nFila inexistente.\n");
return;
}
else if(aux -> ant == NULL)
printf(" [ %d ]", aux -> val);
else{
do{
printf(" [ %d ]", aux -> val);
aux = aux -> ant;
}while(aux != NULL);
}
}
...