数据结构队列例题二

编程入门 行业动态 更新时间:2024-10-11 11:13:34

数据结构队列<a href=https://www.elefans.com/category/jswz/34/1767926.html style=例题二"/>

数据结构队列例题二

#include<iostream>using namespace std;typedef struct QNode
{int data;struct QNode *next;}QNode ,*QueuePtr;typedef struct
{QueuePtr front;QueuePtr rear;
}LinkQueue;void Init(LinkQueue &Q)//初始化 
{Q.front = Q.rear = new QNode;Q.rear ->next = NULL;}void EnQueue(LinkQueue &Q , int e)//插入元素 
{QueuePtr p = new QNode;p ->data = e;p ->next = NULL;Q.rear ->next = p;Q.rear = p;}void DeQueue(LinkQueue &Q , int &e) //出队 
{if(Q.front == Q.rear){cout<<"队空"<<'\n';return ;}QueuePtr p = new QNode;p = Q.front ->next;e = p->data;Q.front ->next = p ->next;if(Q.rear == p) Q.rear = Q.front;//若队尾元素被删除,尾节点指向头节点delete p; }int GetHead(LinkQueue &Q)//取队头元素 
{if(Q.front != Q.rear){return Q.front ->next ->data;}else{cout<<"队空"<<'\n';return 0;}
}int main()
{LinkQueue Q;Init(Q);cout<<"输入数据,输入-1时停止"<<'\n';while(1){ int x;cin>>x; if(x == -1) break; EnQueue(Q,x);}int e = 0;cout<<"队头出队:";DeQueue(Q,e);cout<<e<<'\n';cout<<"取队头元素:"<<GetHead(Q);}

更多推荐

数据结构队列例题二

本文发布于:2023-11-16 18:11:25,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1629182.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:例题   数据结构   队列

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!