**fig5_6.txt** /* 1*/ static const Default_Size = 101; /* 2*/ template /* 3*/ class Hash_Table /* 4*/ { /* 5*/ private: /* 6*/ unsigned int H_Size; /* 7*/ List *The_Lists; /* 8*/ unsigned int Current_List; // The last list accessed. /* 9*/ void Allocate_Lists( ); /*10*/ Hash_Table( Hash_Table & Value ); /*11*/ public: /*12*/ // Constructors. /*13*/ Hash_Table( unsigned int Initial_Size = Default_Size ); /*14*/ // Destructor. /*15*/ ~Hash_Table( ) { delete [ ] The_Lists; } /*16*/ // Operators. /*17*/ const Hash_Table & operator = ( const Hash_Table & Value ); /*18*/ const Element_Type & operator ( ) ( ) const /*19*/ { return The_Lists[ Current_List ] ( ); } /*20*/ // Member functions. /*21*/ void Initialize_Table( ); /*22*/ void Insert( const Element_Type & Key ); /*23*/ void Remove( const Element_Type & Key ); /*24*/ int Find( const Element_Type & Key ); /*25*/ };