Added a tags file. I dunno if this is something that's really supposed to

be in a CVS repository, but for now, it is, so there. :)
This commit is contained in:
William Ferrell
2000-03-30 20:28:01 +00:00
parent f5a5e9653b
commit a98c8109a8
8 changed files with 1762 additions and 648 deletions
+42 -44
View File
@@ -118,66 +118,64 @@
// See LL.c for more detailed descriptions of these functions.
typedef struct LL_node
{
struct LL_node *next, *prev;
void *data;
typedef struct LL_node {
struct LL_node *next, *prev;
void *data;
} LL_node;
typedef struct LL
{
LL_node head, tail;
LL_node *current;
typedef struct LL {
LL_node head, tail;
LL_node *current;
} LL;
// Creates a new list...
LL * LL_new();
LL *LL_new ();
// Destroying lists...
int LL_Destroy(LL *list);
int LL_node_Destroy(LL_node *node);
int LL_node_Unlink(LL_node *node);
int LL_node_DestroyData(LL_node *node);
int LL_Destroy (LL * list);
int LL_node_Destroy (LL_node * node);
int LL_node_Unlink (LL_node * node);
int LL_node_DestroyData (LL_node * node);
// Returns to the beginning of the list...
int LL_Rewind(LL *list);
int LL_Rewind (LL * list);
// Goes to the end of the list...
int LL_End(LL *list);
int LL_End (LL * list);
// Go to the next node
int LL_Next(LL *list);
int LL_Next (LL * list);
// Go to the previous node
int LL_Prev(LL *list);
int LL_Prev (LL * list);
// Data manipulation
void * LL_Get(LL *list);
int LL_Put(LL *list, void *data);
void *LL_Get (LL * list);
int LL_Put (LL * list, void *data);
// Don't use these next two unless you really know what you're doing.
LL_node * LL_GetNode(LL *list);
int LL_PutNode(LL *list, LL_node *node);
LL_node *LL_GetNode (LL * list);
int LL_PutNode (LL * list, LL_node * node);
void * LL_GetFirst(LL *list); // gets data from first node
void * LL_GetNext (LL *list); // ... next node
void * LL_GetPrev (LL *list); // ... prev node
void * LL_GetLast (LL *list); // ... last node
void *LL_GetFirst (LL * list); // gets data from first node
void *LL_GetNext (LL * list); // ... next node
void *LL_GetPrev (LL * list); // ... prev node
void *LL_GetLast (LL * list); // ... last node
int LL_AddNode(LL *list, void * add); // Adds node AFTER current one
int LL_InsertNode(LL *list, void * add);// Adds node BEFORE current one
int LL_AddNode (LL * list, void *add); // Adds node AFTER current one
int LL_InsertNode (LL * list, void *add); // Adds node BEFORE current one
// Removes a node from the link; returns the data from the node
void * LL_DeleteNode(LL *list);
void *LL_DeleteNode (LL * list);
// Removes a specific node...
void * LL_Remove(LL *list, void * data);
void *LL_Remove (LL * list, void *data);
// Stack operations
int LL_Push(LL *list, void *add); // Add node to end of list
void * LL_Pop(LL *list); // Remove node from end of list
void * LL_Top(LL *list); // Peek at end node
void * LL_Shift(LL *list); // Remove node from start of list
void * LL_Look(LL *list); // Peek at first node
int LL_Unshift(LL *list, void *add); // Add node to beginning of list
int LL_Push (LL * list, void *add); // Add node to end of list
void *LL_Pop (LL * list); // Remove node from end of list
void *LL_Top (LL * list); // Peek at end node
void *LL_Shift (LL * list); // Remove node from start of list
void *LL_Look (LL * list); // Peek at first node
int LL_Unshift (LL * list, void *add); // Add node to beginning of list
int LL_Roll(LL *list); // Make first node last
int LL_UnRoll(LL *list);// Roll the other way...
int LL_Roll (LL * list); // Make first node last
int LL_UnRoll (LL * list); // Roll the other way...
// Queue operations...
//int LL_Enqueue(LL *list, void *add);
@@ -188,22 +186,22 @@ int LL_UnRoll(LL *list);// Roll the other way...
#define LL_Dequeue(list) LL_Shift(list)
int LL_PriorityEnqueue(LL *list, void *add, int compare(void *, void *));
int LL_PriorityEnqueue (LL * list, void *add, int compare (void *, void *));
int LL_SwapNodes(LL_node *one, LL_node *two); // Switch two nodes positions...
int LL_nSwapNodes(int one, int two); // Switch two nodes positions...
int LL_SwapNodes (LL_node * one, LL_node * two); // Switch two nodes positions...
int LL_nSwapNodes (int one, int two); // Switch two nodes positions...
int LL_Length(LL *list); // Returns # of nodes in entire list
int LL_Length (LL * list); // Returns # of nodes in entire list
// Searching...
void * LL_Find(LL *list, int compare(void *, void *), void *value);
void *LL_Find (LL * list, int compare (void *, void *), void *value);
// Sorts the list...
int LL_Sort(LL *list, int compare(void *, void *));
int LL_Sort (LL * list, int compare (void *, void *));
// Debugging...
void LL_dprint(LL *list);
void LL_dprint (LL * list);
#endif