Advertisement
luciana1237

Untitled

Jul 20th, 2018
95
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.30 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <stdbool.h>
  4.  
  5. #define MAX 3
  6.  
  7. typedef struct No {
  8.     int x,v[MAX];
  9.     struct No *prox,*inicio,*fim;
  10. }fila;
  11.  
  12. fila *fila_cria(void)
  13. {
  14.     /* funcao que cria uma fila vazia */
  15.     fila *f = (fila *) malloc(sizeof(fila));
  16.    
  17.     if (f != NULL) /* se nC#o houver nenhuim erro de alocacao */
  18.         f->inicio = NULL;
  19.         f->prox = NULL;
  20.         f->fim = NULL;
  21.        
  22.     return f; /* retorne a fila */
  23.        
  24. }
  25.  
  26. bool isEmpty(fila *f)
  27. {
  28.     return(f->prox == NULL);
  29. }
  30.  
  31. bool enfileirar(fila *f,int v)
  32. {
  33.     fila *no = (fila *) malloc(sizeof(fila)); /* aloque dinamicamente */
  34.     fila *tmp;
  35.    
  36.     if (no == NULL)
  37.         fprintf(stderr,"erro \n"); /* fprintf(2...); envia um fluxo para uma saida */
  38.        
  39.     no->x =v;
  40.     no->prox = NULL;
  41.    
  42.     if (isEmpty(f)){
  43.         printf("vazia");
  44.         f->inicio = no;
  45.     }else{
  46.         //fila *tmp;
  47.         while(tmp->prox != NULL){
  48.             tmp = tmp->prox;
  49.             f->fim->prox = no;
  50.         }
  51.     }
  52.     f->fim->prox = no;
  53.     return 1;
  54. }
  55.  
  56. void imprime(fila *f)
  57. {
  58.     fila *pointer;
  59.     pointer = f;
  60.     int i;
  61.     for(i=0; i <=1; i++)
  62.         printf("%d \n",pointer->x);
  63. }
  64. int main()
  65. {
  66.     fila *f= fila_cria();
  67.     enfileirar(&f,3);
  68.     imprime(&f);
  69. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement