Advertisement
luciana1237

Untitled

Jul 19th, 2018
81
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.51 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.  
  12. }fila;
  13.  
  14. int tam=0;
  15.  
  16. fila *fila_cria(void)
  17. {
  18.     fila *p = (fila *) malloc(sizeof(fila));
  19.    
  20.     if (p == NULL)
  21.         fprintf(stderr,"erro");
  22.     else
  23.         p->inicio = NULL;
  24.         p->fim = NULL;
  25.         p->size =0;
  26.     return p;
  27. }
  28.  
  29. bool isEmpty(fila *f)
  30. {
  31.     return (f->fim == NULL);
  32. }
  33.  
  34. bool inserir(fila *f,int v)
  35. {
  36.     fila *no = (fila *) malloc(sizeof(fila));
  37.    
  38.     if (no == NULL)
  39.         fprintf(stdout," sdasdsa ");
  40.    
  41.     no->x =v;
  42.     no->prox = NULL;
  43.    
  44.     if (isEmpty(no)){
  45.         printf("vazia \n");
  46.         f->inicio = no;
  47.     }else{
  48.         for(; no != NULL; no = no->prox){
  49.         f->fim->prox = no;
  50.         }
  51.     }
  52.     f->fim =no;
  53.    
  54.    
  55.     return true;
  56. }
  57.  
  58. void imprime(fila **f)
  59. {
  60.    fila *p;
  61.    p = (*f)->inicio;
  62.    //printf("[%d] \n",(*f)->size);
  63.    //printf("[%d] \t\n",tam);
  64.  
  65.    for(; p != NULL; p=p->prox)
  66.        printf("%d \n",p->x);
  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.                 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