Which sorting algorithm is most efficient to 'continuously' sort a vector again and again?
Look at what your problem actually is: Your problem is not sorting the list, but finding the largest ten items. That's a much easier problem, which can be solved without sorting the list again and again. 

Start by finding the top ten items once. Let $X_{10}$ be the value of the tenth largest item. 

If an item outside the top ten is changed to a value ≤ $X_{10}$, ignore it. If it is changed to a value > $X_{10}$, then drop the tenth item and insert the changed item in the array in the right position. 

If an item in the top ten is changed then move it up or down according to the new value. If the new value is less than &lt; $X_{10}$ then remove it from the top ten leaving you with the top nine, find the largest item that is currently not in the top nine, and put it into the tenth position.

So most of the time you do no work at all, a lot of the time very little work, and occasionally it takes linear time.