Невозможно создать связанный список в классе - PullRequest
0 голосов
/ 19 апреля 2020

У меня никогда не было проблем с созданием связанных списков, но при наличии указателей Node в классе у меня, похоже, возникают проблемы даже при создании списка. Вот мой код:


class Node
{
public:
    int data;

    Node* next;
};

Node* root = NULL;
class Queue
{
public:

    Node* head;
    Node* tail;
    int count;

    Queue()
    {
        head = root;
        tail = root;
        count = 0;
    }

    void Enqueue(int input_data)
    {
        Node* node = new Node;
        node->data = input_data;

        if (head == NULL)
        {
            node->next = 0;
            head = node;
            tail = node;
        }
        else
            {
                node->next = tail;
                tail = node;
            }
        count++;
    }

    void print()
    {
        Node* temp = tail;
        while (temp != NULL);
        {
            cout << "[" << temp->data << "]" << endl;
            temp = temp->next;
        }

    }
};

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

...