Member 13041326 Ответов: 2

Конструктор по умолчанию для связанного списка.


Реализуйте конструктор по умолчанию для класса LinkedList . Помните, что задача конструктора по умолчанию-создать пустой список.

В этой версии Node мы используем структуру с членами int data и Node * next.


Моя функция ниже неверна. Не могли бы вы помочь это исправить?

Что я уже пробовал:

LinkedList::LinkedList()
{
   int data;
   Node *next;
   data=0;
   *next = NULL;
	
}

jeron1

Вопрос?

[no name]

Итак, у вас возникли проблемы с домашним заданием, и все, что вы можете придумать, - это разместить здесь какой-то вопрос. Сделайте некоторые исследования с вашей собственной летучей мыши. Вот как вы будете продвигаться вперед. Google-удивительный ресурс: a связанный список узлов c-поиск в Google[^]

Arthur V. Ratz

Я согласен с Риком Вашим, что обычно вы должны определять структуру под названием LinkedList вместо класса. Так проще.

2 Ответов

Рейтинг:
2

CPallini

Наверное, это должно быть что-то похожее на

class LinkedList
{
  // private member variables of the class 
  int data;
  Node *next;
  //...
public:
  // constructor: put the object in a known state
  LinkedList() : data(0), next(nullptr) {}
  //...
};


Рейтинг:
1

Mehedi Shams

Привет Member 13041326,

Эта линия неверна:

*next = NULL;
Так и должно быть:
next = NULL;
next это указатель на следующий узел; вы хотите указать его на none (он же NULL) при инициализации (он же конструктор).

*next будет означать значение, хранящееся в next. next является указателем, а *next это node (что next указывает на). Ошибочную линию, пытаясь присвоить 0 (нуль 0) к node тип, который является неправильным, следовательно, это определенно даст ошибку компиляции (например, node = 0 не представляется возможным).