Компьютерный форум
Правила
Вернуться   Компьютерный форум > Форум программистов > Языки программирования > Lisp
Перезагрузить страницу Можно ли превратить вложенный список в линейный
Ответ
 
Опции темы Опции просмотра
  (#1 (permalink)) Старый
Aidar*ka Aidar*ka вне форума
Member
 
Сообщений: 27
Сказал(а) спасибо: 1
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 27.04.2009
По умолчанию Можно ли превратить вложенный список в линейный - 27.04.2009, 22:07

Можно ли (и если да, то как) превратить вложенный список вида (1(2(3(4 5)6)7)) в линейный (1 2 3 4 5 6 7) ?
Ответить с цитированием
  (#2 (permalink)) Старый
VH VH вне форума
Member
 
Сообщений: 781
Сказал(а) спасибо: 0
Поблагодарили 11 раз(а) в 10 сообщениях
Регистрация: 29.06.2006
По умолчанию 28.04.2009, 01:17

Код:
(defun F (L)
  (cond
   ((null L) nil)
   ((atom (car L)) (cons (car L) (F (cdr L))))
   (T (append (F (car L)) (F (cdr L))))))
Код:
(defun F (L)
  (if L
   ((lambda (elem result)
     (if (atom elem)
      (cons elem result)
      (append (F elem) result)))
    (car L)
    (F (cdr L)))))
Ответить с цитированием
  (#3 (permalink)) Старый
Aidar*ka Aidar*ka вне форума
Member
 
Сообщений: 27
Сказал(а) спасибо: 1
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 27.04.2009
По умолчанию 28.04.2009, 03:57

Спасибо, VH !
+1 за оперативность )
Ответить с цитированием
  (#4 (permalink)) Старый
Aidar*ka Aidar*ka вне форума
Member
 
Сообщений: 27
Сказал(а) спасибо: 1
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 27.04.2009
По умолчанию 28.04.2009, 08:38

А можно ещё как-нибудь сделать, чтобы конечный результат в переменной сохранялся?
Ответить с цитированием
  (#5 (permalink)) Старый
VH VH вне форума
Member
 
Сообщений: 781
Сказал(а) спасибо: 0
Поблагодарили 11 раз(а) в 10 сообщениях
Регистрация: 29.06.2006
По умолчанию 28.04.2009, 09:44

Вызов функции (F) возвращает результат. Свяжите его с символом:
Код:
(setq символ (F '(1 (2 (3 (4 5) 6) 7))))
Ответить с цитированием
Ads.
  (#6 (permalink)) Старый
Aidar*ka Aidar*ka вне форума
Member
 
Сообщений: 27
Сказал(а) спасибо: 1
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 27.04.2009
По умолчанию 28.04.2009, 15:52

Ага, ясно, спасибо!
Ответить с цитированием
Ads
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Задан список произвольного уровня вложенности,превратить его в список атомов Дрон Lisp 6 19.11.2014 22:38
Вложенный if then else в Haskell Елена_ Haskell 3 07.12.2011 10:52
Разработайте класс, реализующий линейный двусвязный список Black Mamba Pascal 2 25.08.2011 00:05
Как сделать вложенный подзапрос Aidar*ka SQL 4 14.04.2011 12:37
Вложенный цикл. Пожалуйста помогите!!!! Alex13091991 Pascal 1 14.03.2011 13:34
Вложенный шаблонный класс Влад С/С++ 9 11.03.2009 16:46
Сделать дистрибутив вложенный в программу just_vladimir Вопросы начинающих программистов 3 20.09.2007 23:27
Базовый класс: линейный список целых чисел AnnSolodova Delphi 3 07.06.2007 19:55
Однонаправленный линейный список как это реализовать tiny C++ Builder 2 29.12.2006 16:55
Вложенный хэш. Как добиться до его элиментов Moslem Perl 1 05.07.2005 23:25
Не получается вложенный запрос Bony SQL 4 01.08.2003 18:13
Где можно найти список переменных GetEnvironmentVariable Fireworm Visual C++ 1 15.05.2003 14:12



Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
Нardforum.ru - компьютерный форум и программирование, форум программистов