摘要: 堆排序 堆排序是利用堆的性质进行的一种选择排序。下面先讨论一下堆。1.堆堆实际上是一棵完全二叉树,其任何一非叶节点满足性质: Key[i]=Key[2i+1]&&key>=key[2i+2] 即任何一非叶节点的关键字不大于或者不小于其左右孩子节点的关键字。 堆分为大顶堆和小顶堆,满足Key[i]>=... 阅读全文
posted @ 2015-08-17 22:50 FreeBamb 阅读(214) 评论(0) 推荐(0)
摘要: 在实施接口中,我们利用interface语法,将interface从类定义中独立出来,构成一个主体。interface为类提供了接口规范。在继承中,我们为了提高程序的可复用性,引入的继承机制。当时的继承是基于类的。interface接口同样可以继承,以拓展原interface。接口继承接口继承(in... 阅读全文
posted @ 2015-08-17 16:54 FreeBamb 阅读(335) 评论(0) 推荐(0)
摘要: 我们一直是为了产生对象而定义类(class)的。对象是具有功能的实体,而类是对象的类型分类。这是面向对象的一个基本概念。在继承(inheritance)中,我们将类当做可以拓展的主体,这提高了我们对“类”的认识。类本身还有许多值得讨论的地方。我们将继续深入。static数据成员有一些数据用于表述类的... 阅读全文
posted @ 2015-08-17 16:19 FreeBamb 阅读(175) 评论(0) 推荐(0)
摘要: 继承(inheritance)是面向对象的重要概念。继承是除组合(composition)之外,提高代码重复可用性(reusibility)的另一种重要方式。我们在组合(composition)中看到,组合是重复调用对象的功能接口。我们将看到,继承可以重复利用已有的类的定义。类的继承我们之前定义类的... 阅读全文
posted @ 2015-08-17 15:23 FreeBamb 阅读(208) 评论(0) 推荐(0)
摘要: 我们已经写了一些Java程序。之前的每个Java程序都被保存为一个文件,比如Test.java。随后,该程序被编译为Test.class。我们最终使用$java Test来运行程序。然而,在一个正常的Java项目中,我们往往需要编写不止一个.java程序,最终的Java产品包括了所有的Java程序。... 阅读全文
posted @ 2015-08-17 11:38 FreeBamb 阅读(144) 评论(0) 推荐(0)