Шаг 1:
Использовать ассоциативный контейнер . Сопоставить идентификатор пользователя с количеством пользователей.Продолжайте добавлять новых пользователей и обновлять количество пользователей по мере обработки дополнительных данных.
Шаг 2:
Скопируйте всех пользователей в другой ассоциативный контейнер, теперь ключ должен быть парой (количество пользователей, UserId).
Теперь вы можете перебирать второй контейнер и располагать свои элементы по порядку.
Если вы используете C ++, вы можете использовать map для шага 1 и установить для шага 2.