2017-04-19 2 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를 수행하십시오.