Advertisement
xXx_Fortis_xXx

Untitled

May 8th, 2018
96
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 0.82 KB | None | 0 0
  1. #ifndef DOUBLYLINKEDSTACK
  2. #define DOUBLYLINKEDSTACK
  3.  
  4. typedef struct doublyLinkedStackNode{
  5.     void *data;
  6.     struct doublyLinkedStackNode *next;
  7.     struct doublyLinkedStackNode *prev;
  8. } doublyLinkedStackNode;
  9.  
  10. typedef struct doublyLinkedStack{
  11.     size_t length;
  12.     struct doublyLinkedStackNode *stack;
  13. } doublyLinkedStack;
  14.  
  15. doublyLinkedStack *DLS_create (void);
  16.  
  17. void DLS_push (doublyLinkedStack *DLS, void *inData);
  18.  
  19. void *DLS_pop (doublyLinkedStack *DLS);
  20.  
  21. void *DLS_get (doublyLinkedStack *DLS, size_t index);
  22.  
  23. doublyLinkedStack *DLS_find (doublyLinkedStack *DLS, int (*cnd)(void *));
  24.  
  25. void DLS_destroy (doublyLinkedStack *DLS);
  26.  
  27. void DLS_save (doublyLinkedStack *DLS, char *path,
  28.                void (*saveNodeData)(FILE *, void *sData));
  29.  
  30. doublyLinkedStack *DLS_load (char *path, void *(*loadNodeData)(FILE *));
  31.  
  32. #endif
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement