Добавить элемент на заданное место в список - Lisp

Узнай цену своей работы

Формулировка задачи:

Добавить элемент в список L на N место

Решение задачи: «Добавить элемент на заданное место в список»

textual
Листинг программы
HTA> (defparameter *l* (list 1 2 3 4 5 6 7))
*L*
HTA> (define-modify-macro insert-place (pos val)
       (lambda (list pos val)
         (nconc (subseq list 0 pos) 
                (list val)
                (subseq list pos))))
INSERT-PLACE
HTA> (insert-place *l* 3 'z)
(1 2 3 Z 4 5 6 7)
HTA> *l*
(1 2 3 Z 4 5 6 7)

Объяснение кода листинга программы

  1. Создание переменной l со значением (list 1 2 3 4 5 6 7).
  2. Создание макроса insert-place для добавления элемента на заданное место в списке.
  3. Вызов макроса insert-place с аргументами l, 3 и 'z.
  4. Значение переменной l изменяется на (1 2 3 Z 4 5 6 7).

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

10   голосов , оценка 3.8 из 5
Похожие ответы