用链表实现队列

来源:互联网 发布:网络有利还是有害 编辑:程序博客网 时间:2024/06/05 16:10
源代码:
#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;}

运行效果:


0 0