1.1 數(shù)組和字符串 2
1.1.1 一維數(shù)組的倒置 2
范例1-1 一維數(shù)組的倒置 2
∷相關(guān)函數(shù):fun函數(shù)
1.1.2 一維數(shù)組應(yīng)用 3
范例1-2 一維數(shù)組應(yīng)用 3
1.1.3 一維數(shù)組的高級應(yīng)用 5
范例1-3 一維數(shù)組的高級應(yīng)用 5
1.1.4 顯示楊輝三角 7
范例1-4 顯示楊輝三角 7
∷相關(guān)函數(shù):c函數(shù) 8
1.1.5 魔方陣 9
范例1-5 魔方陣 9
1.1.6 三維數(shù)組的表示 14
范例1-6 三維數(shù)組的表示 14
∷相關(guān)函數(shù):InitArray函數(shù)
1.1.7 多項式的數(shù)組表示 17
范例1-7 多項式數(shù)組的表示 17
1.1.8 查找矩陣的馬鞍點 19
范例1-8 查找矩陣的馬鞍點 19
∷相關(guān)函數(shù):Get_Saddle函數(shù)
1.1.9 對角矩陣建立 21
范例1-9 對角矩陣建立 21
∷相關(guān)函數(shù):Store函數(shù)
1.1.10 三對角矩陣的建立 22
范例1-10 三對角矩陣的建立 22
∷相關(guān)函數(shù):Store函數(shù)
1.1.11 三角矩陣建立 24
范例1-11 三角矩陣建立 24
∷相關(guān)函數(shù):Store函數(shù)
1.1.12 對稱矩陣的建立 25
范例1-12 對稱矩陣的建立 25
∷相關(guān)函數(shù):store函數(shù)
1.1.13 字符串長度的計算 28
范例1-13 字符串長度的計算 28
∷相關(guān)函數(shù):strlen函數(shù)
1.1.14 字符串的復(fù)制 29
范例1-14 字符串的復(fù)制 29
∷相關(guān)函數(shù):strcpy函數(shù)
1.1.15 字符串的替換 31
范例1-15 字符串的替換 31
∷相關(guān)函數(shù):strrep函數(shù)
1.1.16 字符串的刪除 33
范例1-16 字符串的刪除 33
∷相關(guān)函數(shù):strdel函數(shù)
1.1.17 字符串的比較 35
范例1-17 字符串的比較 35
∷相關(guān)函數(shù):strcmp函數(shù)
1.1.18 字符串的抽取 36
范例1-18 字符串的抽取 36
∷相關(guān)函數(shù):substr函數(shù)
1.1.19 字符串的分割 38
范例1-19 字符串的分割 38
∷相關(guān)函數(shù):partition函數(shù)
1.1.20 字符串的插入 40
范例1-20 字符串的插入 40
∷相關(guān)函數(shù):insert函數(shù)
1.1.21 字符串的匹配 42
范例1-21 字符串的匹配 42
∷相關(guān)函數(shù):nfind函數(shù)
1.1.22 字符串的合并 43
范例1-22 字符串的合并 43
∷相關(guān)函數(shù):catstr函數(shù)
1.1.23 文本編輯 45
范例1-23 文本編輯 45
∷相關(guān)函數(shù):StrAssign函數(shù)
1.2 棧和隊列 54
1.2.1 用數(shù)組仿真堆棧 54
范例1-24 用數(shù)組仿真堆棧 54
∷相關(guān)函數(shù):push函數(shù) pop函數(shù)
1.2.2 用鏈表仿真堆棧 57
范例1-25 用鏈表仿真堆棧 57
∷相關(guān)函數(shù):push函數(shù) pop函數(shù)
1.2.3 順序棧公用 59
范例1-26 順序棧公用 59
∷相關(guān)函數(shù):push函數(shù) pop函數(shù)
1.2.4 進制轉(zhuǎn)換問題 61
范例1-27 進制轉(zhuǎn)換問題 61
∷相關(guān)函數(shù):MultiBaseOutput函數(shù)
1.2.5 順序隊列操作 64
范例1-28 順序隊列操作 64
∷相關(guān)函數(shù):push函數(shù) pop函數(shù)
1.2.6 循環(huán)隊列 66
范例1-29 循環(huán)隊列 66
∷相關(guān)函數(shù):EnQueue函數(shù) DeQueue函數(shù)
1.2.7 鏈隊列的入隊、出隊 69
范例1-30 鏈隊列入隊、出隊 69
∷相關(guān)函數(shù):push函數(shù) pop函數(shù)
1.2.8 舞伴問題 71
范例1-31 舞伴問題 71
∷相關(guān)函數(shù):EnQueue函數(shù) DeQueue函數(shù) DancePartner函數(shù)
1.3 鏈表 75
1.3.1 頭插法建立單鏈表 75
范例1-32 頭插法建立單鏈表 75
∷相關(guān)函數(shù):createlist函數(shù)
1.3.2 限制鏈表長度建立單鏈表 77
范例1-33 限制鏈表長度建立長單鏈表 77
∷相關(guān)函數(shù):createlist函數(shù)
1.3.3 尾插法建立單鏈表 79
范例1-34 尾插法建立單鏈表 79
∷相關(guān)函數(shù):createlist函數(shù)
1.3.4 按序號查找單鏈表 80
范例1-35 按序號查找單鏈表 80
∷相關(guān)函數(shù):getnode函數(shù)
1.3.5 按值查找單鏈表 82
范例1-36 按值查找單鏈表 82
∷相關(guān)函數(shù):locatenode函數(shù)
1.3.6 鏈表的插入 84
范例1-37 鏈表的插入 84
∷相關(guān)函數(shù):insertnode函數(shù)
1.3.7 鏈表的刪除 86
范例1-38 鏈表的刪除 86
∷相關(guān)函數(shù):deletelist函數(shù)
1.3.8 歸并兩個單鏈表 88
范例1-39 歸并兩個單鏈表 88
∷相關(guān)函數(shù):concatenate函數(shù)
1.3.9 動態(tài)堆棧 90
范例1-40 動態(tài)堆棧 90
∷相關(guān)函數(shù):push函數(shù) Pop函數(shù)
1.3.10 動態(tài)隊列 93
范例1-41 動態(tài)隊列 93
∷相關(guān)函數(shù):Enqueue函數(shù)
1.3.11 初始化單循環(huán)鏈表 95
范例1-42 初始化單循環(huán)鏈表 95
∷相關(guān)函數(shù):ListLength_CL函數(shù)
1.3.12 查詢元素的前驅(qū)和后繼 98
范例1-43 查詢元素的前驅(qū)和后繼 98
∷相關(guān)函數(shù):PriorElem_CL函數(shù) NextElem_CL函數(shù)
1.3.13 單循環(huán)鏈表中元素的刪除 101
范例1-44 單循環(huán)鏈表中元素的刪除 101
∷相關(guān)函數(shù):ListDelete_CL函數(shù)
1.3.14 單循環(huán)鏈表的清除和銷毀 107
范例1-45 單循環(huán)鏈表的清除和銷毀 107
∷相關(guān)函數(shù):DestroyList函數(shù)
1.3.15 僅設(shè)表尾指針循環(huán)鏈表的合并 110
范例1-46 僅設(shè)表尾指針循環(huán)鏈表的合并 110
∷相關(guān)函數(shù):MergeList_CL函數(shù)
1.3.16 正序輸出雙向鏈表 113
范例1-47 正序輸出雙向鏈表 113
∷相關(guān)函數(shù):ListInsert函數(shù) ListTraverse函數(shù)
1.3.17 逆向輸出雙向鏈表 116
范例1-48 三角矩陣建立 116
∷相關(guān)函數(shù):ListTraverseBack函數(shù)
1.3.18 刪除雙向鏈表中的節(jié)點 121
范例1-49 刪除雙向鏈表中的節(jié)點 121
∷相關(guān)函數(shù):ListDelete函數(shù)
1.3.19 雙向鏈表的元素個數(shù) 124
范例1-50 雙向鏈表的元素個數(shù) 124
∷相關(guān)函數(shù):ListLength函數(shù)
1.3.20 判斷雙向鏈表是否為空 126
范例1-51 判斷雙向鏈表是否為空 126
∷相關(guān)函數(shù):ListEmpty函數(shù)
1.3.21 雙向鏈表元素值的查詢 129
范例1-52 雙向鏈表元素值的查詢 129
∷相關(guān)函數(shù):GetElemP函數(shù)
1.3.22 稀疏矩陣的建立 136
范例1-53 稀疏矩陣的建立 136
∷相關(guān)函數(shù):Create函數(shù)
1.3.23 稀疏矩陣的刪除 138
范例1-54 稀疏矩陣的刪除 138
∷相關(guān)函數(shù):erase函數(shù)
1.4 樹和二叉樹 141
1.4.1 獲得二叉樹的深度和根(順序結(jié)構(gòu)) 141
范例1-55 獲得二叉樹的深度和根 141
∷相關(guān)函數(shù):BiTreeDepth函數(shù) Root函數(shù)
1.4.2 獲得二叉樹的深度和根(鏈表結(jié)構(gòu)) 144
范例1-56 獲得二叉樹的深度和根 144
∷相關(guān)函數(shù):BiTreeDepth函數(shù) Root函數(shù)
1.4.3 樹的插入(順序結(jié)構(gòu)) 147
范例1-57 樹的插入 147
∷相關(guān)函數(shù):InsertChild函數(shù)
1.4.4 節(jié)點的修改(順序結(jié)構(gòu)) 150
范例1-58 節(jié)點的修改 150
∷相關(guān)函數(shù):Assign函數(shù)
1.4.5 節(jié)點的修改(鏈式結(jié)構(gòu)) 154
范例1-59 節(jié)點的修改 154
∷相關(guān)函數(shù):Assign函數(shù)
1.4.6 雙親、孩子和兄弟節(jié)點的查詢(順序結(jié)構(gòu)) 158
范例1-60 雙親、孩子和兄弟節(jié)點的查詢 158
∷相關(guān)函數(shù):Parent函數(shù) LeftChild函數(shù) RightChild函數(shù) LeftSibling函數(shù) RightSibling函數(shù)
1.4.7 雙親、孩子和兄弟節(jié)點的查詢(鏈式結(jié)構(gòu)) 162
范例1-61 雙親、孩子和兄弟節(jié)點的查詢 162
∷相關(guān)函數(shù):Parent函數(shù) LeftChild函數(shù) RightChild函數(shù) LeftSibling函數(shù) RightSibling函數(shù)
1.4.8 中序遍歷二叉樹(順序結(jié)構(gòu)) 169
范例1-62 中序遍歷二叉樹 169
∷相關(guān)函數(shù):InOrderTraverse函數(shù)
1.4.9 中序遍歷二叉樹(鏈式結(jié)構(gòu)) 171
范例1-63 中序遍歷二叉樹 171
∷相關(guān)函數(shù):InOrderTraverse函數(shù)
1.4.10 中序非遞歸遍歷二叉樹(鏈式結(jié)構(gòu))(1) 174
范例1-64 中序非遞歸遍歷二叉樹 174
∷相關(guān)函數(shù):InOrderTraverse函數(shù)
1.4.11 中序非遞歸遍歷二叉樹(鏈式結(jié)構(gòu))(2) 177
范例1-65 中序非遞歸遍歷二叉樹 177
∷相關(guān)函數(shù):InOrderTraverse2函數(shù)
1.4.12 后序遍歷二叉樹(順序結(jié)構(gòu)) 180
范例1-66 后序遍歷二叉樹 180
∷相關(guān)函數(shù):PostOrderTraverse函數(shù)
1.4.13 后序遍歷二叉樹(鏈式結(jié)構(gòu)) 183
范例1-67 后序遍歷二叉樹 183
∷相關(guān)函數(shù):PostOrderTraverse函數(shù)
1.4.14 層次遍歷二叉樹(順序結(jié)構(gòu)) 186
范例1-68 層次遍歷二叉樹 186
∷相關(guān)函數(shù):LevelOrderTraverse函數(shù)
1.4.15 層次遍歷二叉樹(鏈式結(jié)構(gòu)) 188
范例1-68 層次遍歷二叉樹 188
∷相關(guān)函數(shù):LevelOrderTraverse函數(shù)
1.4.16 樹的合并 191
范例1-70 樹的合并 191
∷相關(guān)函數(shù):Find函數(shù) Union函數(shù)
1.4.17 樹的二叉鏈表存儲的基本操作 193
范例1-71 樹的二叉鏈表存儲的基本操作 193
∷相關(guān)函數(shù):LevelOrderTraverse函數(shù)
1.4.18 二叉樹的三叉鏈表存儲的基本操作 201
范例1-72 二叉樹的三叉鏈表存儲表示 201
∷相關(guān)函數(shù):CreateBiTree函數(shù)
1.4.19 二叉樹的二叉線索存儲的基本操作 212
范例1-73 二叉樹的二叉線索存儲 212
∷相關(guān)函數(shù):CreateBiThrTree函數(shù)
1.4.20 樹的雙親表存儲的基本操作 215
范例1-74 樹的雙親表存儲的基本操作 215
∷相關(guān)函數(shù):CreateTree函數(shù)
1.4.21 哈夫曼編碼(1) 223
范例1-75 哈夫曼編碼(1) 223
∷相關(guān)函數(shù):HuffmanCoding函數(shù)
1.4.22 哈夫曼編碼(2) 226
范例1-76 哈夫曼編碼(2) 226
∷相關(guān)函數(shù):HuffmanCoding函數(shù)
1.5 排序 229
1.5.1 直接插入排序 229
范例1-77 直接插入排序 229
∷相關(guān)函數(shù):InsertSort函數(shù)
1.5.2 折半插入排序(順序結(jié)構(gòu)) 231
范例1-78 折半插入排序(順序結(jié)構(gòu)) 231
∷相關(guān)函數(shù):BInsertSort函數(shù)
1.5.3 2—路插入排序(順序結(jié)構(gòu)) 233
范例1-79 2—路插入排序(順序結(jié)構(gòu)) 233
∷相關(guān)函數(shù):P2_InsertSort函數(shù)
1.5.4 折半插入排序(鏈式結(jié)構(gòu)) 235
范例1-80 折半插入排序(鏈式結(jié)構(gòu)) 235
∷相關(guān)函數(shù):Arrange函數(shù)
1.5.5 2—路插入排序(鏈式結(jié)構(gòu)) 238
范例1-81 2—路插入排序(鏈式結(jié)構(gòu)) 238
∷相關(guān)函數(shù):Rearrange函數(shù)
1.5.6 希爾排序 241
范例1-82 希爾排序 241
∷相關(guān)函數(shù):ShellSort函數(shù)
1.5.7 冒泡排序 243
范例1-83 冒泡排序 243
∷相關(guān)函數(shù):bubble_sort函數(shù)
1.5.8 一趟快速排序 246
范例1-84 一趟快速排序 246
∷相關(guān)函數(shù):QSort函數(shù)
1.5.9 一趟快速排序的改進算法 248
范例1-85 一趟快速排序的改進算法 248
∷相關(guān)函數(shù):QuickSort函數(shù)
1.5.10 簡單選擇排序 250
范例1-86 簡單選擇排序 250
∷相關(guān)函數(shù):SelectSort函數(shù)
1.5.11 箱子排序 252
范例1-87 箱子排序 252
∷相關(guān)函數(shù):sort函數(shù)
1.5.12 樹型選擇排序 254
范例1-88 樹型選擇排序 254
∷相關(guān)函數(shù):TreeSort函數(shù)
1.5.13 堆排序 256
范例1-89 堆排序 256
∷相關(guān)函數(shù):HeapSort函數(shù)
1.5.14 歸并排序 258
范例1-90 歸并排序 258
∷相關(guān)函數(shù):MergeSort函數(shù)
1.5.15 多路平衡歸并排序 260
范例1-91 多路平衡歸并排序 260
∷相關(guān)函數(shù):K_Merge函數(shù)
1.5.16 置換—選擇排序 265
范例1-92 置換—選擇排序 265
∷相關(guān)函數(shù):Replace_Selection函數(shù)
1.5.17 文件的歸并 269
范例1-93 文件的歸并 269
∷相關(guān)函數(shù):K_Merge函數(shù)
1.6 查找 272
1.6.1 順序表的查找 273
范例1-94 順序表的查找 273
∷相關(guān)函數(shù):Search_Seq函數(shù)
1.6.2 靜態(tài)樹表的查找 276
范例1-95 靜態(tài)樹表的查找 276
∷相關(guān)函數(shù):Search_SOSTree函數(shù)
1.6.3 二叉排序樹的基本操作 280
范例1-96 二叉排序樹的基本操作 280
∷相關(guān)函數(shù):InsertBST函數(shù)
1.6.4 平衡二叉樹的基本操作 285
范例1-97 平衡二叉樹的基本操作 285
∷相關(guān)函數(shù):SearchBST函數(shù)
1.6.5 B樹的基本操作 290
范例1-98 B樹的基本操作 290
∷相關(guān)函數(shù):SearchBTree函數(shù)
1.6.6 按關(guān)鍵字符串的遍歷雙鏈鍵樹 295
范例1-99 按關(guān)鍵字符串遍歷雙鏈鍵樹 295
∷相關(guān)函數(shù):SearchDLTree函數(shù)
1.6.7 按關(guān)鍵字符串的遍歷Trie樹 301
范例1-100 按關(guān)鍵字符串遍歷Trie樹 301
∷相關(guān)函數(shù):SearchTrie函數(shù)
1.6.8 哈希表的基本操作 306
范例1-101 哈希表的基本操作 306
∷相關(guān)函數(shù):SearchHash函數(shù)
1.7 圖 311
1.7.1 圖的鄰接矩陣存儲表示 311
范例1-102 圖的鄰接矩陣存儲表示
∷相關(guān)函數(shù):CreateFAG函數(shù) CreateDG函數(shù)
1.7.2 圖的鄰接表存儲表示 324
范例1-103 圖的鄰接表存儲表示 324
∷相關(guān)函數(shù):CreateFAG函數(shù)
1.7.3 有向圖的十字鏈表存儲表示 335
范例1-104 有向圖的十字鏈表存儲表示 335
∷相關(guān)函數(shù):CreateDG函數(shù)
1.7.4 無向圖的鄰接多重表存儲表示 344
范例1-105 無向圖的鄰接多重表存儲表示 344
∷相關(guān)函數(shù):CreateGraph函數(shù)
1.7.5 最小生成樹 355
范例1-106 最小生成樹 355
∷相關(guān)函數(shù):MiniSpanTree_PRIM函數(shù)
1.7.6 關(guān)節(jié)點和重連通分量 359
范例1-107 關(guān)節(jié)點和重連通分量 359
∷相關(guān)函數(shù):FindArticul函數(shù)
1.7.7 拓撲排序 366
范例1-108 拓撲排序 366
∷相關(guān)函數(shù):TopologicalSort函數(shù)
1.7.8 關(guān)鍵路徑 374
范例1-109 關(guān)鍵路徑 374
∷相關(guān)函數(shù):CriticalPath函數(shù)
1.7.9 最短路徑 383
范例1-110 最短路徑 383
∷相關(guān)函數(shù):ShortestPath_DIJ函數(shù)
1.7.10 每一對頂點之間的最短路徑 387
范例1-111 每一對頂點之間的最短路徑 387
∷相關(guān)函數(shù):ShortestPath_FLOYD函數(shù)