Advertisement
Guest User

Untitled

a guest
Jul 19th, 2018
75
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.52 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <stdbool.h>
  4.  
  5. typedef struct No {
  6.     int x,size;
  7.    
  8.     struct No *prox;
  9.     struct No *inicio;
  10.     struct No *fim;
  11. }fila;
  12. int tam=0;
  13.  
  14. fila *fila_cria(void)
  15. {
  16.     fila *p = (fila *) malloc(sizeof(fila));
  17.    
  18.     if (p == NULL)
  19.         fprintf(stderr,"erro");
  20.     else
  21.         p->inicio = NULL;
  22.         p->fim = NULL;
  23.         p->size =0;
  24.     return p;
  25. }
  26.  
  27. bool isEmpty(fila *f)
  28. {
  29.     if (f->inicio == NULL)
  30.         return 0;
  31.     else
  32.         return 1;
  33. }
  34.  
  35. fila* inserir(fila *f,int v)
  36. {
  37.     fila *no = (fila *) malloc(sizeof(fila));
  38.    
  39.     if (no == NULL)
  40.         fprintf(stdout," sdasdsa ");
  41.    
  42.     no->x =v;
  43.     no->prox = NULL;
  44.    
  45.     if (!isEmpty(no)){
  46.         printf("vazia \n");
  47.         f->inicio = no;
  48.     }else{
  49.         f->fim->prox = no;
  50.     }
  51.     no->size++;
  52.    
  53.     f->fim =no;
  54.    
  55.     return no;
  56. }
  57.  
  58. void imprime(fila **f)
  59. {
  60.    fila *p;
  61.    p = (*f);
  62.    printf("[%d] \n",(*f)->size);
  63.    //printf("[%d] \t\n",tam);
  64.    for(; p!= NULL; p = p->prox){
  65.        printf("%d \n",p->x);
  66.    }
  67. }
  68.  
  69. int main()
  70. {
  71.     fila *f = fila_cria();
  72.     int num,opc;
  73.     for(;;){
  74.         printf("opc ");
  75.         printf("> ");
  76.         scanf("%d",&opc);
  77.        
  78.         switch(opc){
  79.             case 1:
  80.                 scanf("%d",&num);
  81.                 f=inserir(f,num);
  82.                 break;
  83.             case 2:
  84.                 imprime(&f);
  85.                 break;
  86.             default:
  87.                 break;
  88.         }
  89.     }
  90. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement