2017-04-19 6 views
-1

キュー内の最後の要素をどのように印刷するかということについて簡単に質問しています。これまで私が持っているものは次のとおりです。テールポインタによるノードのキーの印刷

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. 

ありがとう!

+0

ループのすべての要素を印刷していない場合は、リンクが壊れている必要があります。 – molbdnilo

答えて

0

私は、キューが空であるかどうかを確認、あなたがキュー内の要素を挿入しているときは、キーと次のノードへのポインタ

とノード構造体を持っていると仮定しています。その場合は、新しい要素をテールノードにします。キューqの末尾のデータが必要な場合は、(q.tail) - > dataを実行します。

関連する問題