То, что вы хотите, это приоритетная очередь. Вставьте каждый номер в приоритетную очередь. Если размер очереди превышает 10, удалите наименьшее (или наибольшее) значение. Значения, которые остаются в очереди в конце, являются 10 самыми большими (или самыми маленькими).
Если очередь реализована с использованием кучи, то это может быть очень эффективным алгоритмом.