Java 数据结构和算法
一、数组于简单排序 ........................................................... 1
二、栈与队列 ................................................................ 4
三、链表 .................................................................... 7
四、递归 ................................................................... 22
五、哈希表 ................................................................. 25
六、高级排序 ............................................................... 25
七、二叉树 ................................................................. 25
八、红—黑树 ............................................................... 26
九、堆 ..................................................................... 36
十、带权图 ................................................................. 39
一、数组于简单排序
数组
数组(array)是相同类型变量的集合,可以使用共同的名字引用它。数组可
被定义为任何类型,可以是一维或多维。数组中的一个特别要素是通过下标来访
问它。数组提供了一种将有联系的信息分组的便利方法。
一维数组
一维数组(one‐dimensionalarray )实质上是相同类型变量列表。要创建一
个数组,你必须首先定义数组变量所需的类型。通用的一维数组的声明格式是:
typevar‐name[];
获得一个数组需要 2 步。第一步,你必须定义变量所需的类型。第二步,你
必须使用运算符 new 来为数组所要存储的数据分配内存,并把它们分配给数组
变量。这样 Java 中的数组被动态地分配。如果动态分配的概念对你陌生,别担
心,它将在本书的后面详细讨论。
数组的初始化(arrayinitializer )就是包括在花括号之内用逗号分开的表达
式的列表。逗号分开了数组元素的值。Java 会自动地分配一个足够大的空间来
保存你指定的初始化元素的个数,而不必使用运算符 new。
Java 严格地检查以保证你不会意外地去存储或引用在数组范围以外的值。
Java 的运行系统会检查以确保所有的数组下标都在正确的范围以内(在这方面,
评论0
最新资源