Может ли кто-нибудь предоставить функцию quicksort-haskell на месте? То есть он возвращает новый отсортированный список, но список ввода копируется в изменяемый массив или что-то в этом роде.
Я хочу посмотреть, как это сделать, потому что у меня есть критически важная для производительности программа, в которой мне нужно моделировать расы и подсчет очков. Если я использую для этого неизменяемые структуры данных, каждая гонка будет принимать время O (log (numRaces) + numRunners), тогда как если я буду использовать изменяемые массивы и т.д., Каждая гонка будет принимать время O (log (numRaces)).
oh, кстати, мне не нужно было делать quicksort, мне просто нужен пример, чтобы эффективно использовать изменяемые массивы.