Другие ответы дают хорошие способы сделать это, однако то, что вы описываете, по сути является операцией O (n ^ 2), предполагая, что вы на самом деле понимаете все ленивые последовательности и т. Д. Это, вероятно, не будет хорошей идеей, еслиn> = 1 000 000
Возможно, вы захотите расширить область кода, который вы рассматриваете, чтобы увидеть, сможете ли вы найти более эффективный алгоритм в целом.
Например, вы можете обнаружить, чтоЛучше всего преобразовать весь список в вектор и написать свой алгоритм с точки зрения индексированного доступа в вектор.