Какова инверсия алгоритма Сортировочной станции?

Вы не можете ссылаться на сам документ в обновлении (пока). Вам нужно будет перебирать документы и обновлять каждый документ с помощью функции. См. этот ответ для примера, или этот для серверной стороны eval().

12
задан Hanno Fietz 17 September 2008 в 19:26
поделиться

2 ответа

Так как RPN также известен как постфиксная запись, я пытался гуглить, преобразовывают "постфикс для инфиксирования" и получил довольно много результатов. Первые несколько имеют примеры кода, но я нашел запись RubyQuiz особенно поучительной.

7
ответ дан 2 December 2019 в 21:25
поделиться

Если Вы не будете волноваться по поводу раскрытия избыточных скобок, то следующий код Lisp будет работать:

(defun rpn-to-inf (pre)
  (if (atom pre)
      pre
      (cond ((eq (car (last pre)) 'setf)
         (list (rpn-to-inf (first pre)) '= (rpn-to-inf (second pre))))
        ((eq (car (last pre)) 'expt)
         (list (rpn-to-inf (first pre)) '^ (rpn-to-inf (second pre))))
        (t (list (rpn-to-inf (first pre)) 
             (car (last pre)) 
             (rpn-to-inf (second pre)))))))
6
ответ дан 2 December 2019 в 21:25
поделиться
Другие вопросы по тегам:

Похожие вопросы: