32 lines
599 B
C++
32 lines
599 B
C++
#ifndef __NODE_H
|
|
#define __NODE_H
|
|
|
|
typedef struct node_s
|
|
{
|
|
struct node_s* next;
|
|
struct node_s* prev;
|
|
void* data;
|
|
} Node;
|
|
|
|
typedef struct
|
|
{
|
|
Node header;
|
|
Node footer;
|
|
} List;
|
|
|
|
List* ListCreate(void);
|
|
void ListDelete(List*);
|
|
int ListIsEmpty(List*);
|
|
Node* ListHead(List*);
|
|
Node* ListTail(List*);
|
|
Node* ListPullHead(List*);
|
|
Node* ListPullTail(List*);
|
|
Node* ListPushHead(List*, Node*);
|
|
Node* ListPushTail(List*, Node*);
|
|
|
|
void* DataPullHead(List*);
|
|
void* DataPullTail(List*);
|
|
void* DataPushHead(List*, void*);
|
|
void* DataPushTail(List*, void*);
|
|
|
|
#endif
|