实训项目2栈和队列的设计与应用.docVIP

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实训项目2栈和队列的设计与应用.doc

实训项目二:栈和队列的设计与应用 课时:4课时 冃的:通过本项冃的实训,掌握如下内容: 理解栈和队列的特殊线性表特征; 掌握栈和队列的基本操作的实现; 理解栈和队列的应用方法; 学习使用栈和队列解决实际问题的能力。 要求: 实训步骤: 一、栈的实训 1、 使用Java接口定义栈的基本操作 利用Java集成开发环境Eclipse,创建一个Project2项目工程,在项目src目录下新建一 个Interface接口,取名为Stack。由于存储元索的不确定性,使川泛型来定义存储和操作的 数据。定义的接口修改如下: public in terface StackDataType { public void init_Stack();//栈的初始化 public booleanisEmpty_Stack();//判断栈是否为空 public booleanisFull_Stack();//判断是否满 public booleanpush_Stack(DataType x);〃入栈 public DataTypepop_Stack();//lJLl栈 public DataTypetop_Stack();//提取栈顶元素 } 2、 利用顺序表实现栈 在匸程project2中创建一个class,命名为SeqStack,实现的Stack接口。定义的类增加泛型, 修改完善如下代码: public class SeqStackDataType implements StackDataType { private final static int MAXSIZE=100; privateint top; private Object[] data;; publicSeqStack(){ init_Stack();} (?Override public void init_Stack() { data = new Object[MAXSIZE]; top = -1; } (?Override publicbooleanisEmpty_Stack() { if(top==-l)return true; return false; } @Override publicbooleanisFull_Stack() { if(top==MAXSIZE-l)return true; return false; } @Override public booleanpush_Stack(DataType x) { } @Override publicDataTypepop_Stack() { } @Override publicDataTypetop_Stack() { if(isEmpty_Stack())return null; else return (DataType)data(top]; } } 3、利用链表实现栈 在工程project2中创建一个class,命名为LinkStack,实现的Stack接口。定义的类增加 泛型,修改完善如下代码: public class LinkStackDataType implements StackDataType{ private LinkNodeDataType top;//引用变量非带头节点 publicLinkStack(){ init_Stack(); } @Override public void init_Stack() { top=null; } @Override publicbooleanisEmpty_Stack() { if(top==null)return true; else return false; } (?Override publicbooleanisFull_Stack() { return false; @Override publicbooleanpush_Stack(DataType x) { LinkNodeDataType s=new LinkNodeDataType(); 〃补充代码 return true; } Override publicDataTypepop_Stack() { LinkNode s; if(top==null)return null; else{ 〃补充代码 } } (?Override publicDataTypetop_Stack() { if(top=二null)return null; else return (DataType)top.data; } } classLlnkNodeDataType{ DataType data; LinkNode next; } 4、栈的应用 问题:利用栈找出所给出的迷宫从入口到出口的一条路径,入口

文档评论(0)

ggkkppp + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档