level 1
枯Mu葬花
楼主
我使用ADT栈 做 后缀表达式换成前缀表达式
[5,4,*]变成[*,5,4]
目前做第一步时遇到困难 我想先实现原始栈中所有的元素全部直接倒入另一个栈中。
使用递归时出现问题,希望能有朋友帮助解答。
push_stack(Top,Stack,Newstack):-stack(Top,Stack,[Top|Stack]).
valid([],[]).
valid([Head|Tail],Emp):-push_stack(Head,Emp,New),write(New),valid(Tail,New).
post2pre([],[]).
post2pre(Expression,Result):-
Emp=[],
valid(Expression,Emp).
我新栈在New这个变量中,但是我不知道如何将其赋值给Result。
我试过将valid添加Result,可是都是出现问题
2015年02月08日 03点02分
1
[5,4,*]变成[*,5,4]
目前做第一步时遇到困难 我想先实现原始栈中所有的元素全部直接倒入另一个栈中。
使用递归时出现问题,希望能有朋友帮助解答。
push_stack(Top,Stack,Newstack):-stack(Top,Stack,[Top|Stack]).
valid([],[]).
valid([Head|Tail],Emp):-push_stack(Head,Emp,New),write(New),valid(Tail,New).
post2pre([],[]).
post2pre(Expression,Result):-
Emp=[],
valid(Expression,Emp).
我新栈在New这个变量中,但是我不知道如何将其赋值给Result。
我试过将valid添加Result,可是都是出现问题