数据结构实验报告二(栈和队列的应用)
(2010-12-27 20:55:52)
标签:
数据结构实验报告栈和队列源代码c杂谈 |
分类: 学习资料 |
一:实验内容:
实现链队列(带头结点)的各种基本运算,完成如下功能:
(1)初始化并建立链队列
(2)入队列
(3)出队列
二:实验目的:
三:问题的实现
数据结构的抽象数据类型定义和说明:
ADT Queue{
数据对象:D={ai|ai∈Elemset,i=1,2,…n,n>=0}
数据关系:R1={<ai-1,ai>}|ai-1,ai∈D, ,i=1,2,…n}
基本操作:InitQueue(LinkQueue
&Q)
EnQueue(LinkQueue &Q,int e) //插入元素e为Q的新的队尾元素
} ADT Queue
主要的实现思路:首先定义结点类型,链表类型。根据菜单提示做入队出队的操作。每次入队出队后都会将队中的所有元素输出一遍。
四:主要源程序代码(包含程序备注)
typedef struct QNode{
}QNode,*QueuePtr;
typedef struct {
}LinkQueue;
void
{
Q.front=Q.rear=(QueuePtr)malloc(sizeof(QNode));//动态分配内存,生成头结点,使头指针,尾指针都指向它;
}
//插入元素e为Q的新的队尾元素
void EnQueue(LinkQueue &Q,int e)
{
}
//若队列不空,则删除其队头元素,用e返回其值
int DeQueue(LinkQueue &Q,int &e)
{
}
int GetHead(LinkQueue
&Q,int
&e)
{
QueuePtr first;
}
五:总结
1.
2.
3.
4.