Печать ключа узла указателем хвоста

У меня просто быстрый вопрос о том, как бы вы напечатали последний элемент в очереди. Вот что у меня так далеко:

struct queue {
node * head;
node * tail;
};

void printQ(queue & q) {
node * p = q.head;

cout << "QUEUE: ";

if (q.head == NULL)
cout << "empty";

while (p != NULL)
{
cout << p->key << " ";
p = p->next;
}

cout << "    TAIL=" << ??????  // This is where I would like to
get it to print the tail but I'm not
sure how.

Спасибо!

-1

Решение

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

Когда вы вставляете элементы в очередь, проверьте, пуста ли очередь. Если так, сделайте новый элемент хвостовым узлом. А когда вам нужны данные хвоста очереди q, делайте (q.tail) -> data.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]