用链式结构实现单链队列的入队与出对
来源:互联网 发布:淘宝达人一个月多少钱 编辑:程序博客网 时间:2024/05/29 10:33
#include<iostream>
using namespace std;
#include<stdlib.h>
#define MAXSIZE 100
#define OK 1
#define ERROR 0
typedef int QElemType ;
typedef struct QNode{
QElemType data;
struct QNode *next;
}QNode,*QueuePtr;
typedef struct{
QueuePtr rear;
QueuePtr front;
}LinkQueue;
int InitQueue(LinkQueue &Q) //构造一个空队列
{Q.front=Q.rear=(QueuePtr)malloc(sizeof(QNode));
if(!Q.front) return ERROR;
Q.front->next=NULL;
return OK;
}
int EnterQueue(LinkQueue &Q,QElemType e)//入队
{QueuePtr p;
p=(QueuePtr)malloc(sizeof(QNode));
if(!p) return ERROR;
p->data=e;
p->next=NULL; Q.rear->next=p;
Q.rear=p;
return OK;
}
int DeleteQueue(LinkQueue &Q,QElemType &e) //删除元素
{QueuePtr p;
if(Q.front==Q.rear) return ERROR;
p=Q.front->next;
e=p->data;
Q.front->next=p->next;
if(Q.rear==p) Q.rear=Q.front;
free (p);
return OK;
}
int OutPut(LinkQueue Q)
{QueuePtr q;
if(Q.rear==Q.front) return ERROR;
q=Q.front->next;
while(q)
{cout<<q->data<<" ";q=q->next;}
return OK;
}
int main()
{LinkQueue Q;
InitQueue(Q);
int e,i,n;
cout<<"输入队长:";
cin>>n;
for(i=0;i<n;i++)
{cout<<"插入数据元素e:";cin>>e;
EnterQueue(Q,e);
}
OutPut(Q);
cout<<"删除元素:";
DeleteQueue(Q,e);
OutPut(Q);
return OK;
}
- 用链式结构实现单链队列的入队与出对
- 链式存储结构实现队列的入队和出队操作以及 栈的出栈和入栈操作
- 链式队列的入队出队操作
- 大二队列的出队和入队分析(链式结构)C语言
- 单链队列,队列的链式存储结构C++实现
- 用两个栈实现队列的入队和出对操作
- 子函数实现链式队列 的 操作,创建、入队、出队、退出。
- 采用链式存储实现队列的初始化、入队、出队操作。
- 链队列的初始化、入队、出队等操作实现
- 队列的入队、出队操作实现
- 对链式队列结构实现的探讨
- 队列的链式存储结构的实现1 —— 创建销毁判断满空入队
- 链式队列操作,初始化,入队,出队
- c++实现队列操作(建对、入队、出对)
- 链队列的入队、出队
- 链队列的出队入队
- 利用顺序存储结构实现双端队列的入队和出队操作
- 链表实现队列的出队和入队,栈的入栈和出栈
- 用jquery实现隔行变色
- oracle 多表查询介绍
- django 学习文件记录
- oracle 分组函数介绍
- Windows下的文件处理函数
- 用链式结构实现单链队列的入队与出对
- oracle 子查询介绍
- 基于live555的流媒体代理转发服务器
- libjingle开发人员指南
- 回溯算法之 N皇后问题
- PL/SQL Developer 8.0.2.1505 简体中文汉化版下载,带注册机-永久注册。
- android之wifi移植全过程
- 你知道为什么是从C盘开始吗?
- Butterfly 在windows 下面的 安装,无法检入(checkin) 版本