实验二堆栈实验报告教材.pdfVIP

  • 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

文档评论(0)

1亿VIP精品文档

相关文档