数据结构栈的实用.doc

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据结构栈的实用

LIAOCHENG UNIVERSITY 计算机学院实验报告 【2011 ~2012 学年第一 学期】 【一、基本信息】 【实验课程】 数据结构 【设课形式】 独立□ 非独立 【课程学分】 4 【实验项目】 栈和队列 【项目类型】 基础□ 综合 设计□ 研究创新□ 其它[ ] 【项目学时】 4 【学生姓名】 王健 【学 号】 2011204631 【系别专业】 软件工程 【实验班组】 2011级 7 班 组 台 【同组学生】 【实验室名】 综合实验楼 309 【实验日期】 2012/11/8 【报告日期】 2012/12/10 【二、实验教师对报告的最终评价及处理意见】 实验成绩: (涂改无效) 指导教师签名: 年 月 日 注:要将实验项目、实验课程的成绩评定及课程考核办法明确告知学生,并报实验管理中心备案 【三、实验预习】 实验目的和要求: 1、熟练掌握栈和队列的结构,以及这种数据结构的特点; 2、会定义顺序栈、循环队列,能实现栈、队列的基本操作; 3、会利用栈解决典型问题,如数制转换等。 实验内容和原理或涉及的知识点(综合性实验): 用C语言设计实现栈(可选作队列)的初始化、入栈、出栈、判空等功能,并 利用栈完成数制转换功能。 实验条件(实验设备、软件、材料等): 具有C 语言集成开发环境的计算机 实验设计方案(实验方法、步骤、操作过程、设计型实验、实验数据记录表格): 设计的算法有: 1、初始化栈; 2、入栈; 3、出栈; 4、判断栈是否为空; 5、十进制转换为八进制。 实验预习成绩(涂改无效) 合格□ 不合格□ 【四、实验过程、数据和实验结果记录】 ①实验方法、步骤、操作过程的记录描述或程序代码。②实验过程中输入/输出数据、程序运行结果的记录。(可加附页) 1、根据实验预习阶段的实验设计方案,编写顺序栈的伪C代码如下。 typedef struct { SElemType *base; SElemType *top; int stacksize; }SqStack; Status InitStack(SqStack S) { S.base = (SElemType *)malloc (STACK_INIT_SIZE*sizeof (SElemType)); if (!S.base) exit (OVERFLOW); S.top = S.base; S.stacksize = STACK_INIT_SIZE; return OK; } //InitStack Status Push(SqStack S, SElemType e) { if (S.top-S.base=S.stacksize) // 栈满 { S.base=(SElemType *)realloc (S.base, (S.stacksize+STACKINCREMENT) * sizeof(SElemType)); if (!S.base) exit (OVERFLOW); S.top = S.base + S.stacksize; S.stacksize+=STACKINCREMENT; } // if 《数据结构》课程实验指导书 9 *S.top++ = e; return OK; } //Push Status Pop(SqStack S, SElemType e) { if(S.top == S.base)return ERROR; e = * -- S.top; return OK; } //Pop Status StackEmpty(SqStack S) { if (S.base==S.

文档评论(0)

xcs88858 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档