0

我确信 Rascal 已经内置了对 Stack 的支持(例如,通过堆栈推送/弹出的表达式 eval),但我找不到任何东西。

所以我现在用这个。但是有更好的方法吗?

list stack = [];

流行音乐:

value = stack[size(stack)-1];
stack = stack - value;

stack = stack + value
4

2 回答 2

0

我建议将 pop 更改为:

value = stack[-1]; //short hand notation
stack = delete(stack, size(stack)-1); // to make sure the last item is deleted (in case duplicates exist in the list)
于 2014-12-05T11:52:28.387 回答
0

查看 List模块的文档:列表支持整个堆栈相关函数:pushpoptopdup等。

于 2014-12-05T12:05:15.070 回答