I don't recommend buying a fish to control algae unless you want the fish, over and above any cleaning it will provide. There are much better means of controlling algae, without adding a fish that you have to provide the algae for. Controlling phosphates, limit feeding, and cleaning regularly are much better methods.
On the side of controlling algae with fish--many fish eat algae as juveniles, but not as adults. Many plecos fall into this category. Of the fish that eat algae through out their life, oto's, mollies, florida flagfish, guppies are on the list as well as bristlenose, rubber (bulldog) plecos. A small snail population, and one of several FW shrimp choices are also great choices, since they are a smaller bio-load than the fish, and can act as general detrivores in addition to eating algae. If you want the fish for it's looks and personality, great. If not, look at other options for controlling algae.