
bakhtin
(usa Outra)
Enviado em 19/10/2014 - 23:46h
olá, estou precisando de uma ajuda em um algoritmo: preciso recuperar o primeiro elemento de uma FILA em C. Alguém podeira me ajudar?
#include <stdio.h>
#include <stdlib.h>
struct TipoFila{
int info;
struct TipoFila *prox;
};
typedef struct TipoFila Fila;
Fila *inicializa();
Fila *insere(Fila *atual, int v);
Fila *recupera(Fila *atual);
int getTamanho(Fila *atual);
int estaVazia(Fila *atual);
int main () {
Fila *elementos;
elementos = inicializa ();
elementos = insere (elementos, 10);
elementos = insere (elementos, 30);
elementos = insere (elementos, 50);
elementos = insere (elementos, 70);
impressao (elementos);
printf ("\nRecuperando: %i" , recupera(elementos));
printf ("\n\nTamanho da Fila: %i" , getTamanho(elementos));
}
Fila* inicializa(){
return NULL;
}
Fila *insere (Fila *atual, int v) {
Fila *aux = atual;
Fila *novo = (Fila*) malloc(sizeof(Fila));
novo->info = v;
novo->prox = NULL;
if (estaVazia(atual)){
return (novo);
}
while (aux->prox != NULL) {
aux = aux ->prox;
}
aux->prox = novo;
return (atual);
}
int estaVazia(Fila *atual){
return (atual == NULL);
}
void impressao (Fila *atual){
if (atual == NULL){
printf ("\nFila Vazia");
}
printf ("\nElementos da fila: ");
while ((atual != NULL)){
printf (" , %i" , atual->info);
atual = atual->prox;
}
}
Fila *recupera(Fila *atual) {
int a=0;
if (estaVazia(atual)){
printf ("Fila sem nenhum elemento");
}
else {
while ((atual != NULL)){
}
}
int getTamanho(Fila *atual){
int soma=0;
while ((atual != NULL)){
atual = atual->prox;
soma = soma + 1;
}
return (soma);
}