为了学校的一个项目,我正在做一个RPN计算器。这个计算器有一个抽象类堆栈,其中三个不同的堆栈实现派生自。其中之一是链表堆栈。对于这些堆栈,我必须显示堆栈上的值。为此,我使用了一个数组。对于我的arraystack和list栈来说,这很容易,但我不知道如何将链表转换为数组。做到这一点的最好方法是什么?
这是我在链表中使用的代码。
public class Node
{
public int data;
public Node next;
public Node(int i)
{
data = i;
next = null;
我已经定义了F#树和栈类型,在栈上有一个pop成员。我不能在pop的结果上得到正确的类型签名。下面是我的代码,直到我尝试使用pop:
type Tree<'a> =
| Tree of 'a * 'a Tree * Tree<'a>
| Node of 'a
| None
type 'a Stack =
| EmptyStack
| Stack of 'a * 'a Stack
member x.pop = function
| Emp