Simply, what the the title says.

Is there an algorithm for "randomizing a number between A and B and specifying an array of numbers with a priority"

Say I want to develop educational software - for language, etc. So it has 100 words from a list (an array), when you answer wrong the words number in that list gets higher priority and has a more "chance" to come up again and if you answer it wrong when it come again the priority goes even higher, etc.

Therefor making what you know less come up more frequent so you can learn it better.

What I was wondering if there was such an algorithm for this? Or this something that I have to develop on my own - would be great to have a starting point.