a function used to manipulate the key of an element in a list to identify its location in the list
a function used to manipulate the key of an element in a list to identify its location in the list
performs two separate functions  1) key generation 2) constrain the key to a positive value less than the size of the table