Я бы вставил строки по порядку с самого начала, вы можете сделать это эффективно, используя бинарный поиск.
Q : Как сравнить текущее число в текущей строке с вашим старым файлом.
Ответ :
Случай 1: Если максимальное количество строк равно 111 (в вашем примере вы начинаете с 001, я предполагаю, что вы дополнены нулями, чтобы показать, сколько цифр вы ожидаете на число), или вы теперь Максимальное количество строк, вы можете заполнить с достаточным количеством нулей, тогда все, что вам нужно сделать, это сравнить ваш текущий номер с текущими тремя последними записями в вашей строке (строка [-3:]).
Случай 2: Вы не знаете количество цифр:
Sol 2.1: Вы можете попробовать сохранить файл для слов и файл для чисел и обновлять их параллельно, это избавит вас от накладных расходов Sol 2.2.
Sol 2.2: Разделите строку разделителем ':' и получите номер (не забудьте, что после разделителя есть пробел).
Это то, что я мог бы придумать сейчас!