Мне нужно создать массив логических чисел (0 или 1) с размером 800000. Мне также нужно иметь возможность проверять/изменять значение по индексу всякий раз, когда я Можно. Я не могу использовать векторы или команду set!
.(Scheme) Изменение значения в массиве булевых элементов с использованием списка
Я смотрел документацию и нашел build-list
[1]. Так что я сделал массив нулей, как это:
(define arrBool (build-list 800000 (lambda (x) (* x 0))))
Я знаю, что я могу получить доступ к индексу с list-ref
[2]. Однако я не могу найти ничего в документации о том, как изменить значение в этом индексе. Например, если я хочу изменить 0
с индексом 27392 на 1
, как бы я сделал это, не создав нового списка?
Любая помощь будет оценена, спасибо!
В списках Racket неизменяемы, поэтому вы не можете этого сделать. Вы должны использовать Racket, язык обучения или традиционную схему? – uselpa
Мы должны использовать ракетку. Есть ли другой способ, которым я могу это сделать? Сначала я использовал векторы, но мой профессор не принял его, так как он хочет, чтобы мы использовали регулярные списки, поэтому я не понимаю, как это сделать. –
Вы можете использовать коробки; Я сомневаюсь, что это намерение вашего профессора, но я отправлю пример. – uselpa