Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #include "doblecola.h"
- void init(TDobleCola* deque){
- deque->first = NULL;
- deque->last = NULL;
- }
- void insertLeft(TDobleCola* deque, TInfo x){
- TNode* n = malloc(sizeof(TNode));
- n->value = x;
- n->next = deque->first;
- deque->first = n;
- if(deque->last == NULL)
- deque->last = n;
- }
- void insertRight(TDobleCola* deque, TInfo x){
- TNode *n = malloc(sizeof(TNode));
- n->value = x;
- n->next = NULL;
- if(deque->first==NULL){
- deque->first = n;
- deque->last = n;
- }else{
- deque->last->next = n;
- deque->last = n;
- }
- }
- TInfo removeLeft(TDobleCola* deque){
- int value;
- value = deque->first->value;
- if(deque->first == deque->last){
- deque->first = NULL;
- deque->last = NULL;
- }else{
- TNode *p = malloc(sizeof(TNode));
- p = deque->first;
- deque->first = p->next;
- free(p);
- }
- return value;
- }
- TInfo removeRight(TDobleCola* deque){
- int value = deque->last->value;
- if(deque->first == deque->last){
- deque->first = NULL;
- deque->last = NULL;
- }else{
- TNode *p = malloc(sizeof(TNode));
- TNode *pant = malloc(sizeof(TNode));
- p = deque -> first;
- while(p->next != NULL){
- pant = p;
- p = p->next;
- }
- pant->next = NULL;
- deque->last = pant;
- free(p);
- }
- return value;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement