Since Adam lived several hundred years, having lots of children was not a problem. The Genesis account does not tell us about the order of the births nor does it tell us how old they were. It was the acient custom to often extract relevant information (sometimes out of order) to emphasis a point. By having many children it is certainly possible that there were many women around. This would mean that Cain married either a sister or a niece or some other relation and their children had children, etc. Of course at this point, the question of inbreeding is raised. But it is not a problem early on in the human race because the genetic line was so pure. Therefore, the prohibition against incest was not proclaimed until much later (Lev. 18:6-18) when inbreeding started to become a problem.