Briefly looking at your code it seems like you aren't doing any stepping in the normal game loop.
In order for the visualization to work, you don't just need to render it, but you need to execute the sorting step by step, every few hundred milliseconds or every few frames.
What I would expect is to see a call to the selected sorting algorithm in the update() function. And probably some sf::Clock instance that tracks the passed time, so the algorithm is only advanced every so often.