Нє-нє-нє, якщо я не помиляюсь, то список залишався списком просто в нього зберігалися елементи, які мають його індекс +2**н, а якщо той елемент має вже невідповідний індекс, тоді аналогічними стрибками через 2**н доходили до потрібного елементу паралельно виправляючи індекси елементів+їхні стрибки
І, чисто в теорії, реально знайти випадок, коли цей алгоритм працюватиме довше за звичайний список, але на випадковому наборі даних воно працює значно швидше