源代码:
#include<iostream>
using namespace std;
struct Node
{
int n;
Node * next;
};
Node * pTail = NULL;
void enter(Node * &pHead, int x)
{
Node * pNew = new Node;
pNew->n = x;
pNew->next = NULL;
if (!pHead)
{
pHead = pNew;
pTail = pNew;
}
else
{
pTail->next = pNew;
pTail = pNew;
}
}
int del(Node * &pHead)
{
if (!pHead)
{
return 0;
}
int x = pHead->n;
Node * p = pHead;
pHead = pHead->next;
delete p;
return x;
}
void printLink(const Node *pHead)
{
Node * pNow = (Node *)pHead;
while (pNow)
{
cout << pNow->n << " ";
pNow = pNow->next;
}
cout << endl;
}
int main()
{
Node * pHead = NULL;
while (1)
{
cout << "**********菜单**********" << endl;
cout << " 1.入队 " << endl;
cout << " 2.出队 " << endl;
cout << " 3.打印队列的内容 " << endl;
cout << " 4.退出 " << endl;
int x;
cin >> x;
if (x == 1)
{
cout << "请输入数字:";
int n;
cin >> n;
enter(pHead, n);
}
if (x == 2)
{
cout << "出队:";
cout << del(pHead) << endl;
}
if (x == 3)
{
cout << "打印队列的内容:";
printLink(pHead);
}
if (x == 4)
{
break;
}
}
return 0;
}
运行效果: