Guest User

Untitled

a guest
Jan 21st, 2018
81
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.14 KB | None | 0 0
  1. #include <stdlib.h>
  2. #include "linear_sequence_assoc.h"
  3.  
  4. typedef enum {
  5. NORMAL,
  6.  
  7.  
  8. typedef struct node {
  9. LSQ_IntegerIndexT key;
  10. LSQ_BaseTypeT value;
  11. int level;
  12.  
  13. struct node **previous;
  14. struct node **next;
  15. } Node;
  16.  
  17. typedef struct {
  18. int size;
  19. int level;
  20.  
  21. Node *head;
  22. } Container;
  23.  
  24. typedef struct {
  25. Node *node;
  26. Container *container;
  27. } Iterator;
  28.  
  29.  
  30. LSQ_HandleT LSQ_CreateSequence(void) {
  31. Container *container = malloc(sizeof(Container));
  32. if (container == NULL) {
  33. return LSQ_HandleInvalid;
  34. }
  35.  
  36. container->beforeFirst = malloc(sizeof(Node));
  37. if (container->beforeFirst == NULL) {
  38. free(container);
  39. return LSQ_HandleInvalid;
  40. }
  41.  
  42. container->pastRear = malloc(sizeof(Node));
  43. if (container->pastRear == NULL) {
  44. free(container->beforeFirst);
  45. free(container);
  46. return LSQ_HandleInvalid;
  47. }
  48. container->pastRear->level = 0;
  49.  
  50. container->root = container->pastRear;
  51. container->size = 0;
  52.  
  53. return container;
  54. }
  55. }
Add Comment
Please, Sign In to add comment