#include <iostream>
using namespace std;
typedef struct list
{
int data;
struct list * pNext;
} List, *pList;
typedef struct queue
{
pList pfront;
pList prear;
} Queue, *pQueue;
void InitQueue (pQueue); // 初始化
void EnQueue (pQueue); // 入队
void traverse (pQueue); // 遍历
int main ()
{
Queue Q;
InitQueue (&Q);
EnQueue (&Q);
traverse (&Q);
}
void InitQueue (pQueue Q)
{
Q->pfront = Q->prear = new List;
if (Q->pfront == nullptr || Q->prear == nullptr)
exit (-1);
Q->pfront->pNext = NULL;
// Q->prear->pNext = NULL;
}
void EnQueue (pQueue Q)
{
pList p = new List;
cin >> p->data;
p->pNext = nullptr;
while (p->data != 0)
{
Q->prear->pNext = p;
Q->prear = p;
p = new List;
cin >> p->data;
p->pNext = nullptr;
}
}
void traverse (pQueue Q)
{
pList p = Q->pfront->pNext;
while (p)
{
cout << p->data << " ";
p = p->pNext;
}
}
编程,采用链式存储实现队列的初始化、入队、出队操作。要求输入整形数据,输入0表示结束(0不存储在栈中)。输入:1 2 3 4 5 6 7 8 9 0输出:1 2 3 4 5 6 7 8 9
最新推荐文章于 2024-07-04 12:03:28 发布