1 / 10
文档名称:

数据结构实验报告:实现队列和栈的各种算法及操作.doc

格式:doc   大小:72KB   页数:10页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

数据结构实验报告:实现队列和栈的各种算法及操作.doc

上传人:zxwziyou9 2018/5/27 文件大小:72 KB

下载得到文件列表

数据结构实验报告:实现队列和栈的各种算法及操作.doc

相关文档

文档介绍

文档介绍:佛山科学技术学院
实验报告
课程名称数据结构
实验项目实现队列和栈的各种算法及操作
专业班级 10网络工程2 姓名张珂卿学号 2010394212
指导教师成绩日期 2011年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)>MAXSIZE) //是否队满
{
printf("已经超出了预设最大队列长度%d!",MAXSIZE);
return 0;
}
fflush(stdin); //清理标准输入流
printf("请输入入队元素:");
scanf("%c",&queue->rear->data);
queue->rear = (queue->rear)++; //队尾元素移动
queue->size++; //队长度增加
return 1;
}
/************************