Advertisement
eduardovp97

DobleCola.c

Oct 24th, 2016
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.27 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include "doblecola.h"
  4.  
  5. void init(TDobleCola* deque){
  6.     deque->first = NULL;
  7.     deque->last = NULL;
  8. }
  9.  
  10. void insertLeft(TDobleCola* deque, TInfo x){
  11.     TNode* n = malloc(sizeof(TNode));
  12.     n->value = x;
  13.     n->next = deque->first;
  14.     deque->first = n;
  15.     if(deque->last == NULL)
  16.         deque->last = n;
  17.  
  18. }
  19.  
  20. void insertRight(TDobleCola* deque, TInfo x){
  21.     TNode *n = malloc(sizeof(TNode));
  22.     n->value = x;
  23.     n->next = NULL;
  24.     if(deque->first==NULL){
  25.         deque->first = n;
  26.         deque->last = n;
  27.     }else{
  28.         deque->last->next = n;
  29.         deque->last = n;
  30.     }
  31.    
  32. }
  33.  
  34. TInfo removeLeft(TDobleCola* deque){
  35.     int value;
  36.     value = deque->first->value;
  37.     if(deque->first == deque->last){
  38.         deque->first = NULL;
  39.         deque->last = NULL;
  40.     }else{
  41.         TNode *p = malloc(sizeof(TNode));
  42.         p = deque->first;
  43.         deque->first = p->next;
  44.         free(p);
  45.     }
  46.     return value;
  47. }
  48.  
  49. TInfo removeRight(TDobleCola* deque){
  50.     int value = deque->last->value;
  51.     if(deque->first == deque->last){
  52.         deque->first = NULL;
  53.         deque->last = NULL;
  54.     }else{
  55.         TNode *p = malloc(sizeof(TNode));
  56.         TNode *pant = malloc(sizeof(TNode));
  57.         p = deque -> first;
  58.         while(p->next != NULL){
  59.             pant = p;
  60.             p = p->next;
  61.         }
  62.         pant->next = NULL;
  63.         deque->last = pant;
  64.         free(p);
  65.     }
  66.     return value;
  67. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement