You need a hash function to map the inserted value to a bucket index. Here's something to get you started.
#define _countof(arg) ( (sizeof arg) / (sizeof arg[0]) )
int insert(ElementType x)
{
int index = x % _countof(bucket); bucket[index].insert(x); return 0; }
You'll need to write an insert operation on List that accepts an element type.
The insertList operation you've shown above isn't usable since there is no publicly accessible position.