我已经在 Java 中实现了单点列表和双向链表,现在我的老师要求我使用单链表和双向链表(在 Java 中)实现数组。我遇到了一些关于如何使用数组实现单链表和双链表的解决方案,但我需要其他方式。谁可以帮我这个事。
问问题
644 次
1 回答
2
我不知道你的确切任务。但是,假设通过“实现一个数组”您的意思是提供一种执行数组基本功能的方法,那么请考虑一下数组可以让您做什么。
数组在创建时具有固定大小,并且不可调整大小,因此使用指定其大小的构造函数实现链表,之后不要让列表增长或缩小。那时创建所有节点可能很有用,但可能不是严格要求的。
数组提供随机访问(您可以访问或分配给数组中的任何插槽,而不是链表的仅前端/后端方法),因此实现获取和设置索引的方法。如果您了解链表的方法,这应该是一件非常简单的事情(只需从头部或尾部迭代尽可能多的单元格以到达指定的索引)。
它需要能够做到:
// the constructor with size specified.
PseudoArray pa = new PseudoArray(10);
// assigning to arbitrary indices
pa.set(0, "Hello, I am the first element.");
pa.set(5, "I am in the middle of the list.");
// reading from arbitrary indices
pa.get(0);
pa.get(5);
您可能必须添加一些内容,例如确保只有某些类型的对象才能进入其中,但基本上,随机访问和固定的预定大小是最大的问题。
希望我已经理解了你的问题。
于 2013-03-20T06:44:27.003 回答