【发布时间】:2011-04-22 03:12:18
【问题描述】:
在 Python 中,您是否可以让类的成员本身是指向同一类类型成员的指针?例如,在 C 语言中,二叉树中的节点可能具有以下类:
struct node {
int data;
struct node* left;
struct node* right;
}
你将如何在 python 中等效地创建它?
【问题讨论】:
-
那些是指向类的指针,而不是同一个类。在任何语言中,您都不能拥有具有自己类型成员的类。这是一个无限递归。
-
你是对的。我很抱歉。然而,这个问题仍然是相关的。
-
这不是真的,看一个简单的Java链表示例:stackoverflow.com/questions/354875/…
-
@ridecar2,这些字段是指向堆上对象的指针。
-
@ridecar2, @Daniel Pryden:我的措辞不准确。我所说的,可以理解为不正确。我的意思更多是从内存布局的角度来看:内存的实际结构不能包含在其自身中。在Java之类的东西中,引用或指针会处理这个问题,这就是问题中的结构正在做的事情。我并不是说递归数据概念是不可能的(毕竟这就是二叉树节点 :))