- 31
- 0
- 约1.59万字
- 约 17页
- 2021-03-25 发布于天津
- 举报
计算机科学与技术系
实 验 报 告
专业名称 计算机科学与技术
课程名称 数据结构与算法
项目名称 实验二堆栈实验
班 级 1
学 号
姓 名
同组人员 无
实验日期
实验二 堆栈实验
实验题目 1 :将十进制正整数转换成十六进制的算法
1. 问题分析
本程序要求实现将十进制正整数转换成十六进制的算法。
完成该实验需要以下 3 个子任务:
1 首先定义一个顺序栈 SeqStack 的类型,再写出栈的基本算法的函数。
○
2 用 dectohex ()函数实现将十进制化为 16 进制的数入栈;
○
3 在主函数完成数据的输出和出栈。
○
测试数据设计如下:
24
48
99
100
101
2. 概要设计
1) 为了实现上述程序功能, 需要: 1 定义一个顺序栈 SeqStack 的类型 2 定 义栈的基
○ ○
本算法 3 调用函数 dectohex 把十进制转换为 16 进制存入 s 中 4 在主函数中完成
○ ○
16 进制的输出
2 ) 本程序包含 7 个函数:
1.主函数 main()
2 . 置空栈 InitStack()
3. 判栈空 StackEmpty()
4. 取栈顶函数 GetTop()
5. 入栈 Push()
6. 出栈 Pop()
7.dectohex()
各函数关系如下:
InitStack 、
StackEmpty
main GetTop
Push
Pop
dectohex
3、 详细设计
实现概要设计中定义的所有的数据类型,对每个操作给出了算法和代码,主程序和模块
都需要代码。
(1)顺序栈
#define maxlen 100
typedef struct{
int data[maxlen];
int top;
}SeqStack;
(2) 栈的基本算法
SeqStack *InitStack(SeqStack *s){ // 建立一个空栈
s-top=-1;
return s;
}
int StackEmpty(SeqStack *s){ // 判断栈是否为空
if(s-top=0) return 0;
else return 1;
}
int GetTo
您可能关注的文档
- 实数检测试卷.pdf
- 实数概念辨析(人教版).pdf
- 实数概念辨析(人教版)40;含答案41;.pdf
- 实数章节复习(二)(人教版).pdf
- 实数章节复习(二)(人教版)40;含答案41;.pdf
- 实数综合应用(一)(人教版).pdf
- 实数综合应用(二)(人教版)40;含答案41;.pdf
- 实数运算(一)(人教版)40;含答案41;.pdf
- 实施性国际机场迁建工程飞行区道面工程组织.pdf
- 实施性地墙和组织new.pdf
- 2025-2026学年科普版七年级下册英语Unit7 Being a Smart Shopper素养测评卷(含答案).docx
- 2025-2026学年科普版七年级下册英语Unit10 Lending a Helping Hand素养测评卷(含答案).docx
- 2025-2026学年科普版七年级下册英语Unit11 Rules Matter素养测评卷(含答案).docx
- 2025-2026学年科普版七年级下册英语Unit12 Better Together素养测评卷(含答案).docx
- 2026年中考英语语法选择专题训练(含答案).docx
- 2026中考语文二轮学思并重,涵养君子之德论语十二章、虽有佳肴、大道之行也.docx
- 中考文言文常见文化常识梳理.docx
- 中考语文二轮:内修君子德外尽忠臣心诚子书出师表修身立德主题学习.docx
- 中考语文二轮:不一样的求学路一样的成长梦送东阳马生序劝学主题学习.docx
- 中考语文二轮:《陋室铭》《爱莲说》托物寓意主题学习.docx
原创力文档

文档评论(0)