我们可以创建类本身的数据类型吗?

时间:2016-05-04 08:20:04

标签: linked-list

我正在学习数据结构,最近我偶然发现了一本从头开始实现链表的书。

class ListNode{
    private ListNode next;
}

代码的确切含​​义及其作用。

1 个答案:

答案 0 :(得分:0)

这意味着class ListNode的对象会有一个名为private的{​​{1}}成员(在课堂外无法访问)会告诉它下一个next链表。

这显然是一种托管语言(可能是java或C#),而类对象是对包含实际对象的内存的引用。如果你在哪里学习非托管语言,你可能不会对此感到困惑,因为私有成员接下来就是指针类型。

由于成员对象ListNode只是对具有类定义中描述的布局的内存的引用,因此类型定义没有像您想象的那样自我递归。

创建nextListNode应为next。当它被放入列表中之前,元素中的null将被设置为此next,而此ListNode中的next将被设置为下一个元素清单(如果有的话)。 所以ListNode有效地指向了内存,其中已经创建了另一个next,其中包含了它应具有的数据。 ListNode的实际数据必须放在其他成员变量中。通用的只有一个ListNode成员,可以保留一个通用对象。

希望这有帮助!