Cain's wife was more than likely his sister. Adam lived 930 years...it's quite possible to have a LOT of kids in that time period lol. Adam was 130 years old when Seth was born, shortly after Abel was murdered. Cain's wife could have been his sister, niece, or cousin depending on when he took her.
Keep in mind, what we think of as incest today is not the same as it was in Biblical times. Sarah was Abraham's sister, Rebecca was Isaac's relative, etc. This was to preserve the liniage, but after thousands of years the gene pool began to become corrupted (i.e. why today if a brother and sister have a child it'll most likely have birth defects, etc). Adam and Eve were created in perfection, they're genes were perfect, but as we see even today, the gene pool continues to become more and more broken, etc. It wasn't until the Law Of Moses that marrying a direct relative became against the rules. Anywho, hope this helps!
ETA: Also keep in mind, the Bible is not in chronological order like a chapter book, so it very well could've been 3-400 years before Cain knew his wife. I have actually become interested moreso in know what happened to the other lines of Adam (scratch that, I know what happened, the flood lol) and Noah etc. The Bible only follows the lines completely of those leading to Christ which makes sense since the Bible in essense was not divinely inspired to be a history book, although to an extent it is, but rather a revelation of God in the Old testament, Jesus in the Gospels, and the Holy Spirit in the book of Acts. Reading the Bible from beginning to end is how I believe it was designed to be read because as you may have already noticed, the more you read, the more you become aware of the FULL personality of God, not the one that many churches try to portrait by picking out a couple of veres, etc.