Algoritmo para encontrar el número que aparece más en una fila - C ++
Necesito ayuda para hacer un algoritmo para resolver un problema: hay una fila con números que aparecen diferentes veces en la fila, y necesito encontrar el número que aparece más y cuántas veces está en la fila, por ejemplo:
1-1-5-1-3-7-2-1-8-9-1-2
Eso sería 1 y aparece 5 veces.
El algoritmo debería ser rápido (ese es mi problema). Algunas ideas ?