Как иметь несколько элементов в узлах связанного списка в JAVA - PullRequest
2 голосов
/ 18 марта 2019

Соответствующий код выглядит следующим образом.Код просто создает связанный список отдельных элементов.Я хотел бы иметь несколько элементов в каждом узле связанного списка.Какие изменения я делаю, что позволяет мне добавить несколько элементов в каждом узле.Прямо сейчас, связанный список выглядит следующим образом.

-------------     -------------
| nodeid: 1 | --> | nodeid: 2 | --> n
-------------     -------------

Я бы хотел, чтобы он выглядел как

-------------     -------------
| nodeid: 1 | --> | nodeid: 2 | --> n
| elmts: 5,6|     | elmts: 7,9|
-------------     -------------

Основной класс и метод main: принимает размер списка от пользователяи создает список случайных элементов такого размера, где каждый элемент является узлом.Я хочу иметь узел, который представляет собой набор из нескольких элементов.

public class ListTest {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        int count = input.nextInt();
        Random rng = new Random();
        List<Integer> list = new List<Integer>();
        for(int i = 0; i < count; i++){
            list.insertAtBack(rng.nextInt(9));
            list.print();
        }
}

Класс List:

    public class List<T> {
        private ListNode<T> firstNode;
        private ListNode<T> lastNode;
        private String name;

    public List(){
        this("nodelist");
    }

    public List(String listName){
        name = listName;
        firstNode = lastNode = null;
    }

    public void insertAtBack(T insertItem){
        if(isEmpty())
            firstNode = lastNode = new ListNode<T>(insertItem);
        else
            lastNode = lastNode.nextNode = new ListNode<T>(insertItem);
    }
}

Класс ListNode:

class ListNode<T> {
    T data;
    ListNode<T> nextNode;

    ListNode(T object){
        this(object, null);
    }

    ListNode(T object, ListNode<T> node){
        data = object;
        nextNode = node;
    }
}

1 Ответ

2 голосов
/ 18 марта 2019

Я думаю, что вам нужно преобразовать элемент data в классе ListNode из типа T в array или list из T

...