Advertisement
luciana1237

Untitled

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