数据结构----链表队列 (二)

2014-11-23 23:33:58 · 作者: · 浏览: 10
", pnode->m_pnext->m_value); pnode = pnode->m_pnext; } } //销毁队列 void queue::destroy() { while(m_pnext != NULL) { queue* pnode = m_pnext; m_pnext = m_pnext->m_pnext; delete pnode; } }


主程序测试

// myqueue.cpp : Defines the entry point for the console application.  
//  
 
#include "stdafx.h"  
#include "queue.h"  
 
int _tmain(int argc, _TCHAR* argv[]) 
{ 
    queue myqueue; 
    for(int i=0; i<10; i++) 
    { 
        myqueue.push(i * 10); 
    } 
 
    myqueue.output(); 
    printf("queue size=%d\n", myqueue.size()); 
 
    if (myqueue.empty()) 
    { 
        printf("queue is empty\n"); 
    } 
    else  
    { 
        printf("queue is not empty\n"); 
    } 
 
    myqueue.destroy(); 
 
    int value = 0; 
    for(int i=0; i<10; i++) 
    { 
        if (myqueue.pop(&value)) 
        { 
            printf("pop value=%d successfully\n", value); 
        } 
        else 
        { 
            printf("pop unsuccessfully\n"); 
        } 
    } 
 
    printf("queue size=%d\n", myqueue.size()); 
 
    if (myqueue.empty()) 
    { 
        printf("queue is empty\n"); 
    } 
    else  
    { 
        printf("queue is not empty\n"); 
    } 
 
    getchar(); 
    return 0; 
} 

// myqueue.cpp : Defines the entry point for the console application.
//

#include "stdafx.h"
#include "queue.h"

int _tmain(int argc, _TCHAR* argv[])
{
 queue myqueue;
 for(int i=0; i<10; i++)
 {
  myqueue.push(i * 10);
 }

 myqueue.output();
 printf("queue size=%d\n", myqueue.size());

 if (myqueue.empty())
 {
  printf("queue is empty\n");
 }
 else
 {
  printf("queue is not empty\n");
 }

 myqueue.destroy();

 int value = 0;
 for(int i=0; i<10; i++)
 {
  if (myqueue.pop(&value))
  {
   printf("pop value=%d successfully\n", value);
  }
  else
  {
   printf("pop unsuccessfully\n");
  }
 }

 printf("queue size=%d\n", myqueue.size());

 if (myqueue.empty())
 {
  printf("queue is empty\n");
 }
 else
 {
  printf("queue is not empty\n");
 }

 getchar();
 return 0;
}