佛山科学技术学院 实 验 报 告 课程名称 数据结构 实验项目 实现队列和栈的各种算法及操作 专业班级 10网络工程2 姓 名 张珂卿 学 号 2010394212 指导教师 成 绩 日 期 2 0 1 1 年1 1 月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-