这是按照老师要求我根据严蔚敏数据结构教材自己编写的一段程序,该程序在TC2.01上运行无误,有不懂的可以问我
队列设计与算法实现
1. 实验目的
本实验将通过实验实例和程序设计练习,达到如下目的:
(1) 掌握队列的链式表示和实现
2. 实验内容及要求
本实验的内容包括
(1) 编写一个程序实现链队列的初始化、插入和删除基本操作。
3. 实验要求
3.1 实验一:
实验要求:编写一个程序实现链队列的以下操作,并在此基础上设计一个主程序,完成如下功能:
(1) 初始化链队列;
(2) 建立一个链队列
(3) 入队;
(4) 出队。
需要注意:
(1) 与链栈类似,无需考虑队满或上溢;
(2) 在出队算法中,一般只需要修改对头指针,但当原队列中只剩一个结点是,该
结点既是队头又是队尾,故删去此结点时需要修改队尾指针,且删除此结点后队列为空;
(3) 为了简化边界条件的处理,在队头结点前可附加一个头结点。
以下是我自己根据严蔚敏数据结构教材自己编写的教材:
#include
#define OK 1
#define ERROR 0
#define OVERFLOW -1
typedef struct QNode{
char data;
struct QNode *next;
}QNode,*QueuePtr;
typedef struct{
QueuePtr front;
QueuePtr rear;
} LinkQueue;
LinkQueue Q;
int main(){
int InitQueue(LinkQueue *Q);
int EnQueue(LinkQueue *Q,char e); int DeQueue(LinkQueue *Q,char *e); int QueueTraverse(LinkQueue Q); int i; char c,d,e,f;