- 22
- 0
- 约8.99千字
- 约 16页
- 2017-01-12 发布于重庆
- 举报
实验报告_实验二_.
数据结构与算法实现实验报告
实验一
1.实验题目
顺序栈的定义及其操作算法的实现
2.需求分析
本演示程序用C++编写,编程实现顺序栈表的类型定义及顺序表的初始化操作、入栈操作、出栈操作、取栈顶元素操作、输出操作等,并对其进行验证。
输出的形式:输出栈中的每一个元素。
程序所能达到的功能:实现顺序栈表的类型定义及顺序表的初始化操作、入栈操作、出栈操作、取栈顶元素操作、输出操作。
测试数据:
往顺序栈中插入7,14,21,28,35,42
3.概要设计
1)为了实现上述程序功能,需要定义栈的抽象数据类型: ADT Stack { 数据对象:D={ai|ai∈ElemSet,i=1,2,…,n,n≥0} 数据关系:R={ai-1,ai|ai,ai-1∈D,i=2,…,n} 基本操作: InitStack(SqStack S) 操作结果:构造一个空栈S. GetTop(SqStack S, ElemType e) 初始条件:顺序栈S已存在 操作结果:得到顺序栈的头元素 Push(SqStack S, ElemType e) 初始条件:顺序栈S已存在 操作结果:往顺序栈S中插入元素e为新的栈顶元素 Pop(SqStack S,ElemType e) 初始条件:顺序栈S已存在 操作结果:从顺序栈S删除栈顶元素. StackOutput(SqStack S) 初始条件:顺序栈S已存在 操作结果:读取顺序栈中的各个元素 main() 操作结果:调用各个函数
4.详细设计
1) 结点类型和指针类型typedef struct
{ElemType *Elem;
int Top;
int StackSize;
}SqStack;
2) 顺序栈的基本操作
void InitStack(SqStack S) //构造一个空栈S
{ S.Elem=(ElemType *)malloc(Init_Size*sizeof(ElemType));
if(!S.Elem) coutOVERFLOW; //存储分配失败
S.Top=0;
} //InitStack
void GetTop(SqStack S, ElemType e) //若栈不空,则用e返回S的栈顶元素,否则返回ERROR
{if (S.Top==0) coutERROR;
e=S.Elem[S.Top-1];
} //GetTop
void Push(SqStack S, ElemType e) //插入元素e为新的栈顶元素
{ if(S.Top==S.StackSize) //栈满,追加存储空间
{ S.Elem=(ElemType*)malloc((S.StackSize+INCR)*sizeof(ElemType));
if(!S.Elem) coutOVERFLOW; //存储空间分配失败
S.StackSize+=INCR;
}
S.Elem[S.Top++]=e;
} //Push
void Pop(SqStack S,ElemType e) //若栈不空,则删除S的栈顶元素,用e返回其值,否则返回ERROR
{if (!S.Top)
{cout栈为空endl;coutERROR;}
e=S.Elem[--S.Top];
} //Pop
void StackOutput(SqStack S) //输出栈中的元素
{ int i;
for(i=0;iS.Top;i++)
coutS.Elem[i] ;
coutendl;
} //StackOutput
3) 其他模块
int main() //主函数
{ SqStack S;
ElemType e;
InitStack(S);
cout====================================endl;
cout顺序栈实验endl;
cout====================================endl;
Push(S,7);Push(S,14);Push(S,21);Push(S,28);
cout栈中元素分别为:endl;
StackOutput(S);
您可能关注的文档
- 实验报告--ISAserver2006安装和配置..doc
- 实验报告--发布HTTPS网站和FTP站点..doc
- 实验报告--牛顿环..docx
- 实验报告--磁聚焦法测定电子荷质比..docx
- 实验报告(网络命令VLAN静态路由)..doc
- 实验报告--霍尔效应原理及其应用..doc
- 实验报告-《国际结算》..doc
- 实验报告-Function过程程序设计..doc
- 实验报告-偏心拉伸..doc
- 实验报告-光衍射相对光强分布..doc
- 小区绿化施工协议书.docx
- 墙面施工协议书.docx
- 1 古诗二首(课件)--2025-2026学年统编版语文二年级下册.pptx
- (2026春新版)部编版八年级道德与法治下册《3.1《公民基本权利》PPT课件.pptx
- (2026春新版)部编版八年级道德与法治下册《4.3《依法履行义务》PPT课件.pptx
- (2026春新版)部编版八年级道德与法治下册《6.2《按劳分配为主体、多种分配方式并存》PPT课件.pptx
- (2026春新版)部编版八年级道德与法治下册《6.1《公有制为主体、多种所有制经济共同发展》PPT课件.pptx
- 初三教学管理交流发言稿.docx
- 小学生课外阅读总结.docx
- 餐饮门店夜经济运营的社会责任报告(夜间贡献)撰写流程试题库及答案.doc
最近下载
- 交流转辙机道岔动作电流故障曲线分析信号集中监测课件.pptx VIP
- 2025届东北三省三校高三下学期第一次联合模拟考试政治试题(原卷版+解析版).docx VIP
- 养老服务质量检测90项.pdf VIP
- 光谱分析图谱与标志.docx
- 2025新课标中考英语词汇.pdf VIP
- T_CNPHARS 0001-2025 群体药动学药效学分析标准操作规范.pdf VIP
- (2026年)血浆置换及血浆分离吸附护理要点PPT课件.pptx VIP
- 农村狗狗交配的全过程,让你看了有点不可置信.pdf VIP
- 医院培训课件:《死亡医学证明(推断)书》规范填写及死因链基础知识.pptx VIP
- 健康体检表样表最新文档.docx VIP
原创力文档

文档评论(0)