- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实验报告栈与队列
肇庆学院计算机系实验报告格式
肇庆学院计算机科学系
实 验 报 告
专业:计算机科学与技术 班级:科技1班 姓名:汪勇
学号:201124131103 课程名称:数据结构
学年:2011 --2012 学期 : 2 课程类别: 专业必修
实验内容: 实验时间:2012 年4月25日
1.编写函数,采用链式存储实现栈的初始化、入栈、出栈操作。
2.编写函数,采用顺序存储实现栈的初始化、入栈、出栈操作。
3.编写函数,采用链式存储实现队列的初始化、入队、出队操作。
4.编写函数,采用顺序存储实现队列的初始化、入队、出队操作。
5.编写一个主函数,在主函数中设计一个简单的菜单,分别调试上述算法。
实验目的及要求:
1.掌握栈、队列的思想及其存储实现
2.掌握栈、队列的常见算法的程序实现
实验内容、方法与步骤:(使用附页填写并附在本页后)
详见附页
实验结果:
小结:
分数: 批阅老师: 200 年 月 日
第 页 / 共 页
肇庆学院计算机科学系
实验报告(附页)
#include stdio.h
#include malloc.h
#define MAXSIZE 256
typedef int datatype; //顺序栈
typedef struct
{
datatype data[MAXSIZE];
int top;
}SeqStack;
void menu();
SeqStack * init_SeqStack();
int Empty_SeqStack(SeqStack *S);
int Push_SeqStack(SeqStack *S,datatype x);
int Pop_SeqStack(SeqStack *S,datatype *p);
datatype Top_SeqStack(SeqStack *S);
void conversion(int n,int r); //链栈
typedef struct node
{
datatype data;
struct node *next;
}StackNode,*LinkStack;
void menu2();
LinkStack Init_LinkStack();
int Empty_LinkStack(LinkStack top);
LinkStack Push_LinkStack(LinkStack top,datatype x);
LinkStack Pop_LinkStack(LinkStack top,datatype *s); //顺序队
typedef struct
{
datatype data[MAXSIZE];
int front,rear;
int num;
}C_SeQueue;
void menu3();
C_SeQueue *init_SeQueue();
int In_SeQueue(C_SeQueue *q,datatype x);
int Out_SeQueue(C_SeQueue *q,datatype *p);
int Empty_SeQueue(C_SeQueue *q); //链队
typedef struct qnode
{
datatype data;
struct qnode *next;
}QNode;
typedef struct
{ QNode *front,*rear;
}LQueue;
void menu4();
LQueue *Init_LQueue();
void In_LQueue(LQueue *q,datatype x);
int Empty_LQueue(LQueue *q);
int Out_LQueue(LQueue *q,datatype *s);
int main()
{ int temp;
do
{ printf(==============================\n);
printf(\t1.顺序栈\t2.链栈\n\t3.顺序队\t4.链队\n);
printf(请选择:);
scanf(%d,temp);
int n,m=1;
switch(temp)
{
case 1:
{
SeqStack *S;
/*clrscr();*/
while(m)
{
menu();
sc
文档评论(0)