00001 #ifndef _NODE_H_INCLUDED_
00002 #define _NODE_H_INCLUDED_
00003
00004
00005
00006 class Node
00007 {
00008 friend void print_list( Node const& head );
00009 public:
00010 Node* pnext;
00011 int data;
00012
00013
00014 Node( int value = 0 );
00015
00016
00017 Node( Node const& other );
00018
00019
00020 ~Node();
00021
00022
00023 void insert( Node* newNode );
00024
00025
00026 void remove_next();
00027
00028
00029 bool remove( Node* other );
00030
00031
00032 int distance( Node const* other ) const;
00033
00034
00035 size_t size() const;
00036 };
00037
00038
00039 void print_list( Node const& head );
00040
00041 #endif //_NODE_H_INCLUDED_