1.1 数组和字符串 2
1.1.1 一维数组的倒置 2
范例1-1 一维数组的倒置 2
∷相关函数:fun函数
1.1.2 一维数组应用 3
范例1-2 一维数组应用 3
1.1.3 一维数组的高级应用 5
范例1-3 一维数组的高级应用 5
1.1.4 显示杨辉三角 7
范例1-4 显示杨辉三角 7
∷相关函数:c函数 8
1.1.5 魔方阵 9
范例1-5 魔方阵 9
1.1.6 三维数组的表示 14
范例1-6 三维数组的表示 14
∷相关函数:InitArray函数
1.1.7 多项式的数组表示 17
范例1-7 多项式数组的表示 17
1.1.8 查找矩阵的马鞍点 19
范例1-8 查找矩阵的马鞍点 19
∷相关函数:Get_Saddle函数
1.1.9 对角矩阵建立 21
范例1-9 对角矩阵建立 21
∷相关函数:Store函数
1.1.10 三对角矩阵的建立 22
范例1-10 三对角矩阵的建立 22
∷相关函数:Store函数
1.1.11 三角矩阵建立 24
范例1-11 三角矩阵建立 24
∷相关函数:Store函数
1.1.12 对称矩阵的建立 25
范例1-12 对称矩阵的建立 25
∷相关函数:store函数
1.1.13 字符串长度的计算 28
范例1-13 字符串长度的计算 28
∷相关函数:strlen函数
1.1.14 字符串的复制 29
范例1-14 字符串的复制 29
∷相关函数:strcpy函数
1.1.15 字符串的替换 31
范例1-15 字符串的替换 31
∷相关函数:strrep函数
1.1.16 字符串的删除 33
范例1-16 字符串的删除 33
∷相关函数:strdel函数
1.1.17 字符串的比较 35
范例1-17 字符串的比较 35
∷相关函数:strcmp函数
1.1.18 字符串的抽取 36
范例1-18 字符串的抽取 36
∷相关函数:substr函数
1.1.19 字符串的分割 38
范例1-19 字符串的分割 38
∷相关函数:partition函数
1.1.20 字符串的插入 40
范例1-20 字符串的插入 40
∷相关函数:insert函数
1.1.21 字符串的匹配 42
范例1-21 字符串的匹配 42
∷相关函数:nfind函数
1.1.22 字符串的合并 43
范例1-22 字符串的合并 43
∷相关函数:catstr函数
1.1.23 文本编辑 45
范例1-23 文本编辑 45
∷相关函数:StrAssign函数
1.2 栈和队列 54
1.2.1 用数组仿真堆栈 54
范例1-24 用数组仿真堆栈 54
∷相关函数:push函数 pop函数
1.2.2 用链表仿真堆栈 57
范例1-25 用链表仿真堆栈 57
∷相关函数:push函数 pop函数
1.2.3 顺序栈公用 59
范例1-26 顺序栈公用 59
∷相关函数:push函数 pop函数
1.2.4 进制转换问题 61
范例1-27 进制转换问题 61
∷相关函数:MultiBaseOutput函数
1.2.5 顺序队列操作 64
范例1-28 顺序队列操作 64
∷相关函数:push函数 pop函数
1.2.6 循环队列 66
范例1-29 循环队列 66
∷相关函数:EnQueue函数 DeQueue函数
1.2.7 链队列的入队、出队 69
范例1-30 链队列入队、出队 69
∷相关函数:push函数 pop函数
1.2.8 舞伴问题 71
范例1-31 舞伴问题 71
∷相关函数:EnQueue函数 DeQueue函数 DancePartner函数
1.3 链表 75
1.3.1 头插法建立单链表 75
范例1-32 头插法建立单链表 75
∷相关函数:createlist函数
1.3.2 限制链表长度建立单链表 77
范例1-33 限制链表长度建立长单链表 77
∷相关函数:createlist函数
1.3.3 尾插法建立单链表 79
范例1-34 尾插法建立单链表 79
∷相关函数:createlist函数
1.3.4 按序号查找单链表 80
范例1-35 按序号查找单链表 80
∷相关函数:getnode函数
1.3.5 按值查找单链表 82
范例1-36 按值查找单链表 82
∷相关函数:locatenode函数
1.3.6 链表的插入 84
范例1-37 链表的插入 84
∷相关函数:insertnode函数
1.3.7 链表的删除 86
范例1-38 链表的删除 86
∷相关函数:deletelist函数
1.3.8 归并两个单链表 88
范例1-39 归并两个单链表 88
∷相关函数:concatenate函数
1.3.9 动态堆栈 90
范例1-40 动态堆栈 90
∷相关函数:push函数 Pop函数
1.3.10 动态队列 93
范例1-41 动态队列 93
∷相关函数:Enqueue函数
1.3.11 初始化单循环链表 95
范例1-42 初始化单循环链表 95
∷相关函数:ListLength_CL函数
1.3.12 查询元素的前驱和后继 98
范例1-43 查询元素的前驱和后继 98
∷相关函数:PriorElem_CL函数 NextElem_CL函数
1.3.13 单循环链表中元素的删除 101
范例1-44 单循环链表中元素的删除 101
∷相关函数:ListDelete_CL函数
1.3.14 单循环链表的清除和销毁 107
范例1-45 单循环链表的清除和销毁 107
∷相关函数:DestroyList函数
1.3.15 仅设表尾指针循环链表的合并 110
范例1-46 仅设表尾指针循环链表的合并 110
∷相关函数:MergeList_CL函数
1.3.16 正序输出双向链表 113
范例1-47 正序输出双向链表 113
∷相关函数:ListInsert函数 ListTraverse函数
1.3.17 逆向输出双向链表 116
范例1-48 三角矩阵建立 116
∷相关函数:ListTraverseBack函数
1.3.18 删除双向链表中的节点 121
范例1-49 删除双向链表中的节点 121
∷相关函数:ListDelete函数
1.3.19 双向链表的元素个数 124
范例1-50 双向链表的元素个数 124
∷相关函数:ListLength函数
1.3.20 判断双向链表是否为空 126
范例1-51 判断双向链表是否为空 126
∷相关函数:ListEmpty函数
1.3.21 双向链表元素值的查询 129
范例1-52 双向链表元素值的查询 129
∷相关函数:GetElemP函数
1.3.22 稀疏矩阵的建立 136
范例1-53 稀疏矩阵的建立 136
∷相关函数:Create函数
1.3.23 稀疏矩阵的删除 138
范例1-54 稀疏矩阵的删除 138
∷相关函数:erase函数
1.4 树和二叉树 141
1.4.1 获得二叉树的深度和根(顺序结构) 141
范例1-55 获得二叉树的深度和根 141
∷相关函数:BiTreeDepth函数 Root函数
1.4.2 获得二叉树的深度和根(链表结构) 144
范例1-56 获得二叉树的深度和根 144
∷相关函数:BiTreeDepth函数 Root函数
1.4.3 树的插入(顺序结构) 147
范例1-57 树的插入 147
∷相关函数:InsertChild函数
1.4.4 节点的修改(顺序结构) 150
范例1-58 节点的修改 150
∷相关函数:Assign函数
1.4.5 节点的修改(链式结构) 154
范例1-59 节点的修改 154
∷相关函数:Assign函数
1.4.6 双亲、孩子和兄弟节点的查询(顺序结构) 158
范例1-60 双亲、孩子和兄弟节点的查询 158
∷相关函数:Parent函数 LeftChild函数 RightChild函数 LeftSibling函数 RightSibling函数
1.4.7 双亲、孩子和兄弟节点的查询(链式结构) 162
范例1-61 双亲、孩子和兄弟节点的查询 162
∷相关函数:Parent函数 LeftChild函数 RightChild函数 LeftSibling函数 RightSibling函数
1.4.8 中序遍历二叉树(顺序结构) 169
范例1-62 中序遍历二叉树 169
∷相关函数:InOrderTraverse函数
1.4.9 中序遍历二叉树(链式结构) 171
范例1-63 中序遍历二叉树 171
∷相关函数:InOrderTraverse函数
1.4.10 中序非递归遍历二叉树(链式结构)(1) 174
范例1-64 中序非递归遍历二叉树 174
∷相关函数:InOrderTraverse函数
1.4.11 中序非递归遍历二叉树(链式结构)(2) 177
范例1-65 中序非递归遍历二叉树 177
∷相关函数:InOrderTraverse2函数
1.4.12 后序遍历二叉树(顺序结构) 180
范例1-66 后序遍历二叉树 180
∷相关函数:PostOrderTraverse函数
1.4.13 后序遍历二叉树(链式结构) 183
范例1-67 后序遍历二叉树 183
∷相关函数:PostOrderTraverse函数
1.4.14 层次遍历二叉树(顺序结构) 186
范例1-68 层次遍历二叉树 186
∷相关函数:LevelOrderTraverse函数
1.4.15 层次遍历二叉树(链式结构) 188
范例1-68 层次遍历二叉树 188
∷相关函数:LevelOrderTraverse函数
1.4.16 树的合并 191
范例1-70 树的合并 191
∷相关函数:Find函数 Union函数
1.4.17 树的二叉链表存储的基本操作 193
范例1-71 树的二叉链表存储的基本操作 193
∷相关函数:LevelOrderTraverse函数
1.4.18 二叉树的三叉链表存储的基本操作 201
范例1-72 二叉树的三叉链表存储表示 201
∷相关函数:CreateBiTree函数
1.4.19 二叉树的二叉线索存储的基本操作 212
范例1-73 二叉树的二叉线索存储 212
∷相关函数:CreateBiThrTree函数
1.4.20 树的双亲表存储的基本操作 215
范例1-74 树的双亲表存储的基本操作 215
∷相关函数:CreateTree函数
1.4.21 哈夫曼编码(1) 223
范例1-75 哈夫曼编码(1) 223
∷相关函数:HuffmanCoding函数
1.4.22 哈夫曼编码(2) 226
范例1-76 哈夫曼编码(2) 226
∷相关函数:HuffmanCoding函数
1.5 排序 229
1.5.1 直接插入排序 229
范例1-77 直接插入排序 229
∷相关函数:InsertSort函数
1.5.2 折半插入排序(顺序结构) 231
范例1-78 折半插入排序(顺序结构) 231
∷相关函数:BInsertSort函数
1.5.3 2—路插入排序(顺序结构) 233
范例1-79 2—路插入排序(顺序结构) 233
∷相关函数:P2_InsertSort函数
1.5.4 折半插入排序(链式结构) 235
范例1-80 折半插入排序(链式结构) 235
∷相关函数:Arrange函数
1.5.5 2—路插入排序(链式结构) 238
范例1-81 2—路插入排序(链式结构) 238
∷相关函数:Rearrange函数
1.5.6 希尔排序 241
范例1-82 希尔排序 241
∷相关函数:ShellSort函数
1.5.7 冒泡排序 243
范例1-83 冒泡排序 243
∷相关函数:bubble_sort函数
1.5.8 一趟快速排序 246
范例1-84 一趟快速排序 246
∷相关函数:QSort函数
1.5.9 一趟快速排序的改进算法 248
范例1-85 一趟快速排序的改进算法 248
∷相关函数:QuickSort函数
1.5.10 简单选择排序 250
范例1-86 简单选择排序 250
∷相关函数:SelectSort函数
1.5.11 箱子排序 252
范例1-87 箱子排序 252
∷相关函数:sort函数
1.5.12 树型选择排序 254
范例1-88 树型选择排序 254
∷相关函数:TreeSort函数
1.5.13 堆排序 256
范例1-89 堆排序 256
∷相关函数:HeapSort函数
1.5.14 归并排序 258
范例1-90 归并排序 258
∷相关函数:MergeSort函数
1.5.15 多路平衡归并排序 260
范例1-91 多路平衡归并排序 260
∷相关函数:K_Merge函数
1.5.16 置换—选择排序 265
范例1-92 置换—选择排序 265
∷相关函数:Replace_Selection函数
1.5.17 文件的归并 269
范例1-93 文件的归并 269
∷相关函数:K_Merge函数
1.6 查找 272
1.6.1 顺序表的查找 273
范例1-94 顺序表的查找 273
∷相关函数:Search_Seq函数
1.6.2 静态树表的查找 276
范例1-95 静态树表的查找 276
∷相关函数:Search_SOSTree函数
1.6.3 二叉排序树的基本操作 280
范例1-96 二叉排序树的基本操作 280
∷相关函数:InsertBST函数
1.6.4 平衡二叉树的基本操作 285
范例1-97 平衡二叉树的基本操作 285
∷相关函数:SearchBST函数
1.6.5 B树的基本操作 290
范例1-98 B树的基本操作 290
∷相关函数:SearchBTree函数
1.6.6 按关键字符串的遍历双链键树 295
范例1-99 按关键字符串遍历双链键树 295
∷相关函数:SearchDLTree函数
1.6.7 按关键字符串的遍历Trie树 301
范例1-100 按关键字符串遍历Trie树 301
∷相关函数:SearchTrie函数
1.6.8 哈希表的基本操作 306
范例1-101 哈希表的基本操作 306
∷相关函数:SearchHash函数
1.7 图 311
1.7.1 图的邻接矩阵存储表示 311
范例1-102 图的邻接矩阵存储表示
∷相关函数:CreateFAG函数 CreateDG函数
1.7.2 图的邻接表存储表示 324
范例1-103 图的邻接表存储表示 324
∷相关函数:CreateFAG函数
1.7.3 有向图的十字链表存储表示 335
范例1-104 有向图的十字链表存储表示 335
∷相关函数:CreateDG函数
1.7.4 无向图的邻接多重表存储表示 344
范例1-105 无向图的邻接多重表存储表示 344
∷相关函数:CreateGraph函数
1.7.5 最小生成树 355
范例1-106 最小生成树 355
∷相关函数:MiniSpanTree_PRIM函数
1.7.6 关节点和重连通分量 359
范例1-107 关节点和重连通分量 359
∷相关函数:FindArticul函数
1.7.7 拓扑排序 366
范例1-108 拓扑排序 366
∷相关函数:TopologicalSort函数
1.7.8 关键路径 374
范例1-109 关键路径 374
∷相关函数:CriticalPath函数
1.7.9 最短路径 383
范例1-110 最短路径 383
∷相关函数:ShortestPath_DIJ函数
1.7.10 每一对顶点之间的最短路径 387
范例1-111 每一对顶点之间的最短路径 387
∷相关函数:ShortestPath_FLOYD函数