第1章 Collections类、泛型类和Timing类概述 1
1.1 群集的定义 1
1.2 群集的描述 1
1.2.1 直接存取群集 2
1.2.2 顺序存取群集 4
1.2.3 层次群集 6
1.2.4 组群集 7
1.3 CollectionBase类 8
1.3.1 用ArrayList实现Collection类 8
1.3.2 定义Collection类 8
1.3.3 实现Collection类 8
1.4 泛型编程 10
1.5 时间测试 12
1.5.1 一个简单化的时间测试 12
1.5.2 用于.NET环境的时间测试 13
1.5.3 Timing Test类 14
小结 16
练习 17
第2章 数组和ArrayList 18
2.1 数组基本概念 18
2.1.1 数组的声明和初始化 18
2.1.2 数组元素的设置和存取访问 19
2.1.3 检索数组元数据的方法和属性 19
2.1.4 多维数组 20
2.1.5 参数数组 21
2.1.6 锯齿状数组 22
2.2 ArrayList类 23
2.2.1 ArrayList类的成员 23
2.2.2 应用ArrayList类 24
小结 27
练习 27
第3章 基础排序算法 29
3.1 排序算法 29
3.1.1 数组类测试环境 29
3.1.2 冒泡排序 31
3.1.3 检验排序过程 32
3.1.4 选择排序 33
3.1.5 插入排序 35
3.2 基础排序算法的时间比较 36
小结 37
练习 38
第4章 基础查找算法 39
4.1 顺序查找 39
4.1.1 查找最小值和最大值 41
4.1.2 自组织数据加快顺序查找速度 42
4.2 二叉查找算法 43
4.3 递归二叉查找算法 45
小结 47
练习 47
第5章 栈和队列 48
5.1 栈、栈的实现以及Stack类 48
5.1.1 栈的操作 48
5.1.2 Stack类的实现 49
5.2 Stack类 51
5.2.1 Stack构造器方法 51
5.2.2 主要的栈操作 52
5.2.3 Peek方法 54
5.2.4 Clear方法 54
5.2.5 Contains方法 54
5.2.6 CopyTo方法和ToArray方法 54
5.2.7 Stack类的实例:十进制向多种进制的转换 55
5.3 队列、Queue类以及Queue类的实现 56
5.3.1 队列的操作 56
5.3.2 Queue的实现 57
5.3.3 Queue类:实例应用 58
5.3.4 用队列排序数据 61
5.3.5 源自Queue类的优先队列 64
小结 65
练习 66
第6章 BitArray类 67
6.1 激发的问题 67
6.2 位和位操作 68
6.2.1 二进制数制系统 68
6.2.2 处理二进制数:按位运算符和移位运算符 69
6.3 按位运算符的应用 70
6.4 整数转换成二进制形式的应用程序 74
6.5 移位的示例应用程序 76
6.6 BitArray类 78
6.6.1 使用BitArray类 78
6.6.2 更多BitArray类的方法和属性 81
6.7 用BitArray来编写埃拉托斯特尼筛法 81
6.8 BitArray与数组在埃拉托斯特尼筛法上的比较 83
小结 83
练习 84
第7章 字符串、String类和StringBuilder类 85
7.1 String类的应用 85
7.1.1 创建String对象 85
7.1.2 常用的String类方法 86
7.1.3 Split方法和Join方法 88
7.1.4 比较字符串的方法 90