文档介绍:: .
佛山科学技术学院
实 验 报 告
课程名称 数据结构
实验工程 实现队列和栈的各种算法及操作
专业班级 10网络工程2 姓 名 张珂卿 学 号 2021394212
指导教师 成 绩 日 期 2021年11月9日
一、目的和要求
1. 理解队列和栈的顺序存储结构和链式存储结构。通过本实验,熟悉队列、栈的结构特点;
2. 熟悉队列、栈结构上的操作与算法的实现。
 
二、实验内容
1. 队列的根本操作和应用;
2. 栈的根本操作和应用。
 
三、仪器、设备和材料
1. 适合实验要求的计算机系统;
2. C语言编程平台。
 
四、实验原理与实验代码
队列与栈是一种操作受限制的线性表,在了解线性表的根本原理的根底上,理解与完成此项实验。
#include <>
#include <>
#include <>
#define MAXSIZE 50
typedef struct QNode{
char data; //数组元素的存储结构
}QNode,*QLink;
typedef struct Queue{
QNode* front;
QNode* rear;
int size;
}*QueueArray;
/****************************
初始化队列数组
分配存储空间
初始化队头与队尾
****************************/
int InitQueue(QueueArray queue)
{
QLink ql;
printf("\n初始化队列:");
ql= (QNode*)malloc(MAXSIZE*sizeof(QNode)); //分配存储空间
if(!ql)
{
printf("MEMERY ERROR!");
return 0;
}
queue->front = queue->rear = ql; //初始化队头指针与队尾指针
queue->size = 0;
return 1;
}
/*********************************
入队操作
队满条件:queue->size+1 == MAXSIZE
*********************************/
int EnQueue(QueueArray queue)
{
if((queue->size+1)>MAXSI