Конструктор двусвязного списка с вектором внутри c ++ - PullRequest
0 голосов
/ 08 октября 2018

Я новичок в c ++ и работаю над заданием, включающим векторы и двусвязный список.Я получил эту структуру как таковую.

struct Node {
std::vector<T> data;
Node<T>* next;
Node<T>* prev;
Node(): next(nullptr), prev(nullptr){} };

Теперь мне нужно в другом классе создать конструктор для этого узла, который будет использоваться для различных методов.Я понимаю, что структура уже имеет список инициализации для next и prev, думаю, я просто переосмысливаю, каким должен быть конструктор.

Class LinkedVector {
Node<T>* head;

LinkedVector<T>::LinkedVector(){
    head = NULL;
    }
}

Это правильный способ построения связанного списка?Опять же, я новичок в c ++, и любая помощь, указывающая мне правильное направление, является наиболее полезной.Спасибо Вам и хорошего дня.

1 Ответ

0 голосов
/ 08 октября 2018

Да, это почти правильно, вы, конечно, хотите установить head в nullptr вместо NULL.

Затем, когда вы создаете методы для добавления в список, вам нужно будет проверить, пусто ли оно, и еслипоэтому инициализируйте голову, а не добавляйте элемент в другом месте.

...