【问题标题】:How could i make a data structure like linked list, but each node holds N elements?我如何制作像链表这样的数据结构,但每个节点都包含 N 个元素?
【发布时间】:2021-12-20 16:14:21
【问题描述】:
所以我想创建一个链表类型的结构,因为每个 N 元素的“组”还包含一个 NULL 指针或指向下一个组的指针。
例如,我读取一个整数 4,然后我想创建一个包含 4 个整数和一个 NULL 指针的结构,然后如果我想创建另一组 4 个整数,我可以更改 NULL 指针第一组指向第二组。
PS:我想用 Java 实现这个
【问题讨论】:
标签:
java
arrays
list
pointers
【解决方案1】:
如果我正确理解了你的问题,你想将一组 N 个元素添加到一个数据结构中,然后这个组可以引用另一组 M 个元素,以此类推。
可以使用 LinkedList 的 LinkedList。
LinkedList<LinkedList<Integer>> outerList = new LinkedList<>();
int input = 4;
LinkedList<Integer> innerList = new LinkedList<>();
for (int i = 0; i < input; i++) innerList.add(i);
outerList.add(innerList);
input = 3;
innerList = new LinkedList<>();
for (int i = 0; i < input; i++) innerList.add(i);
outerList.add(innerList);
LinkedList<Integer> myList = outerList.get(/*the index of the group you want*/);
myList.get(/*the element you want from that group*/);
【解决方案2】:
链表是一种由节点组成的数据结构。每个节点都有一个数据和一个下一个。下一个是另一个节点(或null,如果您位于列表的末尾)。由于数据可以是任何东西,您可以定义您选择的类型的List。示例:
List<int[]> myList = new ArrayList<int[]>();
然后您可以将每个元素定义为包含 n 个元素的数组。您也可以使用其他数据类型。