- 1、本文档共8页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
实验报告:栈精要
肇庆学院 计算机学院/软件学院
实 验 报 告(实验三)
专业_________班级__________姓名__________学号__________课程名称_____________
学年2009 --2010 学期 1□ / 2□ 课程类别 专业必修□ 限选□ 任选□ 实践□
实验内容: 实验时间:2010年 6 月11日
1.编写函数,采用链式存储实现栈的初始化、入栈、出栈操作。
2.编写函数,采用顺序存储实现栈的初始化、入栈、出栈操作。
3.编写函数,采用链式存储实现队列的初始化、入队、出队操作。
4.编写函数,采用顺序存储实现队列的初始化、入队、出队操作。
5.编写一个主函数,在主函数中设计一个简单的菜单,分别调试上述算法。
实验目的及要求:
1.掌握栈、队列的思想及其存储实现
2.掌握栈、队列的常见算法的程序实现
方法与步骤:
详见从第2页开始的源代码
实验结果:
小结:
肇庆学院 计算机学院/软件学院
实验报告(附页)
源代码:
#include stdio.h
#include stdlib.h
#define OVERFLOW -2
#define ERROR 0
#define OK 1
#define MAX 100 //栈的最大值
typedef int SElemType;
typedef int QElemType;
typedef struct
{SElemType *base;
SElemType *top;
}SqStack;
SqStack InitStacka( ) //顺序存储实现栈的初始化
{SqStack S;
S.base=(SElemType *)malloc(MAX*sizeof(SElemType));
if(!S.base) exit(OVERFLOW);
S.top=S.base;
return(S);
}
void Pusha(SqStack S,int x) //顺序存储实现栈的入栈操作
{if(S.top-S.base=MAX) exit(OVERFLOW);
*S.top++=x;
}
void Popa(SqStack S) //顺序存储实现栈的出栈操作
{SElemType *p;
int x;
if(S.top==S.base) return ;
else {p=S.top;
x=*--S.top;
printf(\t删除的栈顶元素是%d\n\t出栈操作完成后的栈为:\n,x);
}
}
void printa(SqStack S) //输出
{SElemType *p;
p=S.base;
printf(\t);
while(p!=S.top)
{printf(%d ,*(p++));}
printf(\n);
}
typedef struct SqNode
{SElemType data;
SqNode *Link;
}*Sqptr,NODE;
typedef struct
{Sqptr top;
}Stack;
Stack InitStackb() //链式存储实现栈的初始化
{Stack S;
S.top=(Sqptr)malloc(sizeof(NODE));
if(!S.top) exit (OVERFLOW);
S.top-Link=NULL;
return(S);
}
void Pushb(Stack S,int x) //链式存储实现栈的入栈操作
{Sqptr p;
p=(Sqptr)malloc(sizeof(NODE));
if(!p) return;
p-data=x;
p-Link=S.top-Link;
S.top-Link=p;
}
void Popb(Stack S) //链式存储实现栈的出栈操作
{int x;
Sqptr p;
if(S.top-Link==NULL) return;
else {p=S.top-Link;
x=p-data;
S.top-Link=p-Link;
printf(\t删除的栈顶元素是%d\n,x);
free(p);}
}
typedef struct QNode
{QElemType data;
struct QNode *next;
}*QueuePtr,QNode;
typedef struct
{QueuePtr front;
QueuePtr rear;
}LinkQueue;
LinkQueue InitQueue() //链式存储实现队列的初始化
{LinkQueue Q;
您可能关注的文档
- 实验2离散序列的基本运算精要.doc
- 基于click自定义协议软件路由器的设计与实现分析.doc
- 基于C推箱子游戏设计分析.doc
- 实验2:高桩及板桩试验精要.doc
- 基于B2C的电子商城开发分析.doc
- 基于DDS技术的信号发生器分析.doc
- 基于BIM模型的装饰工程的放线任务解决方案分析.docx
- 基于Android平台的个人理财软件的设计与实现分析.doc
- 基于Delphi的聊天软件设计.doc分析.doc
- 实验3FSKASK调制解调实验精要.docx
- 2024年沧州市公务员考试行测真题及答案详解(名师系列).docx
- 粮油食品检验人员复习提分资料带答案详解(精练).docx
- 粮油食品检验人员自我提分评估(考点精练)附答案详解.docx
- 粮油食品检验人员全真模拟模拟题附参考答案详解(精练).docx
- 2025年延安市公务员考试行测试卷历年真题附答案详解(突破训练).docx
- 2025年株洲市公务员考试行测试卷历年真题含答案详解.docx
- 2024年枣庄市公务员考试行测真题及完整答案详解1套.docx
- 2024年抚顺市公务员考试行测真题及答案详解(各地真题).docx
- 2025年常州市公务员考试行测真题及一套参考答案详解.docx
- 2023年德州市公务员考试行测试卷历年真题及1套完整答案详解.docx
最近下载
- Sorensen索伦森 SGA大功率程控直流电源操作手册.pdf
- DB32T 4013-2021第三方社会稳定风险评估技术规范.docx
- 《给水排水管道工程施工及验收规范》GB50268-2008.pdf VIP
- 化妆品产品稳定性测试记录表(一)( A1 ).xls VIP
- 广东省深圳市生地会考真题试卷及答案.docx VIP
- 可感染人类的高致病性病原微生物菌(毒)种或样本运输管理规定44页.docx VIP
- (高清版)ZT 0341-2020 矿产地质勘查规范 建筑用石料类.pdf VIP
- 《大国航母与舰载机》期末考试答案.docx VIP
- 海运出口流程.pptx VIP
- 三类医疗器械培训计划.docx VIP
文档评论(0)