|
LList
llist.h
// Linked List class.
// Stores positive integers.
//
typedef int keytype;
struct node {
keytype key;
node *next;
};
class llist {
public:
llist();
~llist();
llist(const llist &L);
llist& operator =(const llist &L);
void deallocate();
void copy(const llist &L);
bool insert_at_head(node *x);
// Insert node at the head. Return 1 if successful, 0 otherwise.
bool insert_after(node *y,node *x);
// Insert node pointed to by x after node pointed to by y.
// Return 1 if successful, 0 otherwise.
keytype remove(node *x);
// Remove the node pointed to by x.
// Return the key value of x if successful, -1 otherwise.
keytype head_value();
// Return the value of the key pointed to by head.
node *find(keytype value);
// Locate a value in the list. Return a pointer to the first
// node found with key=value, NULL if no such node exists.
private:
node *head;
};
|