Связанный список Параметризованный конструктор - PullRequest
1 голос
/ 11 апреля 2019

Я попытался создать Parameterized конструктор для связанного списка, моя программа собирается реализовать очередь, используя список избранных, поэтому я хочу создать параметризованный конструктор, такой как Queue (int value, int size), и он не будет запущен или делать список это мой код для этой проблемы

Queue(int value,int _size)
    {
        for(int i = 0; i < _size; ++i)
        {
            Node* temp = new Node;
            temp->data = value;
            temp->next = nullptr;
            if(head == nullptr)
            {
                head = tail = temp;
            }
            else
            {
                tail->next = temp;
                tail = temp;

            }
        }
    }

Я ожидал, что результатом будет заполнение, чтобы не превышать размер значения, как если бы я запускал эту функцию. Очередь x (20,3), связанный список должен быть 20 20 20

Ответы [ 2 ]

1 голос
/ 11 апреля 2019

Поскольку это конструктор, head и tail неправильно инициализированы для их использования.Я бы предложил добавить head = tail = nullptr непосредственно перед циклом и посмотреть, что произойдет.

0 голосов
/ 11 апреля 2019

Следуйте этому коду после создания вашего узла. Я надеюсь, что это сработает. И используйте i ++ вместо ++ i, так как последний сделает цикл для size-1 раз.

 if(head == NULL)
  head = temp;
else{
  Node *x;
  x= head;
  while(x->next != NULL)
     x = x->next;
  x->next = temp;

}

...