队列是一种在程序开发中十分常用数据结构.docVIP

队列是一种在程序开发中十分常用数据结构.doc

  1. 1、本文档共8页,可阅读全部内容。
  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文档。上传文档
查看更多
队列是一种在程序开发中十分常用的数据结构,在此我就以编写一个实现队列功能的类--Queue为例进行说明。该类将实现以下基本运算:?   判断队列是否为空:empty()?   插入队列(即在队列未尾增加一个数据元素):inqueue(x)?   出队列(也就是将队列首数据元素删除):outqueue()?   取列头(也就是读者队列首数据元素的值):gethead()?   清空队列(也就是将队列的所有数据元素全删除): clear()?   查询x在队列中的位置:search(x)?   测试案例分析?   在测试驱动开发实践中,第一步就是考虑测试方案,通过分析该类的功能,我们可以得到以下测试案例:?   1) 队列为空测试?    TC01: 队列新建时,应为空;?    TC02: 清空队列后,应为空;?    TC03: 当出队列操作次数与插入队列操作次数一样时,应为空;?   2) 插入队列测试:?    TC04: 插入队列操作后,新数据元素将插入在队列的未尾;?    TC05: 插入队列操作后,队列将一定不为空;?   3) 出队列测试?    TC06: 出队列操作后,第一个数据元素将被从队列中删除;?   4) 取队头测试?    TC07: 取队头操作将获得队列中的第一个数据元素。?   5) 清空队列测试?    TC08: 清空队列操作后,队列将为空队列;?   注: 此处为了讲解的方便,并未将所有的测试用例都列出,同时也选择了一些十分简单的测试用例。?   第一次迭代?   我们首先编写第一个测试代码,这一测试代码只考虑了测试案例TC01, 也就是保证新建的队列为空:? import junit.framework.*;? //每个使用JUnit编写的测试代码都应该包括本行 public class testQueue extends TestCase? //创建一个测试用例,继承TestCase { protected Queue q1; public static void main (String[] args) { junit.textui.TestRunner.run (suite());? //执行测试用例 }? protected void setUp() //环境变量准备 {? q1= new Queue();? }? public static Test suite() //通用格式,指定测试内容 {? return new TestSuite(testQueue.class);? }? public void testEmpty() //以下每个方法就是一个测试 {? assertTrue(q1.empty());? //当队列新建时,应为空-TC01 } }?   安装JUnit十分简单,只需在中下载最新的软件包(ZIP格式), 然后将其解压缩,并且将JUnit安装目录/junit.jar 以及JUnit安装目录都加到系统环境变量CLASSPATH中去即可。?   执行套件可以像上述程序一样在main方法中使用,也可以直接在命令行调用:java junit.textui.TestRunner 测试类名(文本格式)、java junit.awtui.TestRunner 测试类名(图形格式,AWT版)、java junit.swingui.TestRunner测试类名(图形版,Swing版)。?   编译执行(即在命令行执行javac testQueue.java和javatestQueue), 你会发现屏幕上出现提示:?   .E 一个小点说明执行了一个测试用例,E表示其失败?   Time: 0.11 说明执行测试共花费了0.11秒?   There was 1 error: 说明存在一个错误?   1) testEmpty(testQueue)java.lang.NoClassDefFoundError: Queue?     at testQueue.setUp(testQueue.java:13)?     at testQueue.main(testQueue.java:9)?   FAILURES!!!?   Tests run: 1, Failures: 0, Errors: 1?   测试没有通过是肯定的,因为Queue类都还没有写呢?怎么可能通过测试,因此,我们就编写以下代码,以使测试通过:? public class Queue extends java.util.Vector? { public Queue() { super(); } public boolean empty() { return super.isEmpty(); } }?   将这个类

文档评论(0)

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

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

1亿VIP精品文档

相关文档