C語言實用編程550例(550集視頻教程+源文件)

李長榮、齊峰、王一萍

  • 出版商: 清華大學
  • 出版日期: 2024-08-01
  • 定價: $708
  • 售價: 8.5$602
  • 語言: 簡體中文
  • ISBN: 7302669627
  • ISBN-13: 9787302669623
  • 相關分類: C 程式語言
  • 下單後立即進貨 (約4週~6週)

  • C語言實用編程550例(550集視頻教程+源文件)-preview-1
  • C語言實用編程550例(550集視頻教程+源文件)-preview-2
  • C語言實用編程550例(550集視頻教程+源文件)-preview-3
C語言實用編程550例(550集視頻教程+源文件)-preview-1

相關主題

商品描述

"這是一本實例版的 C 語言編程圖書,通過編碼求解問題的方式來講解 C 語言的編程知識、數據結構和算法。全書共 15 章,第 1~10 章著重介紹 C 語言的基礎知識,包括選擇語句、循環控制語句、函數、數組、指針、字符串、結構體、結構體數組與鏈表、位運算和文件等;第 11~15 章側重於算法和數據結構基礎,包括遞歸、棧和隊列、前綴和與差分、貪心算法、動態規劃等。本書包含了 400 個實例和 150 個實練題目,每個實例都有實際的應用背景,通過分析和編碼來培養讀者的電腦思維和解決實際問題的能力。每個實例實練都配備了相應的視頻講解,以幫助讀者解決學習中的疑難問題,加深對所學知識的理解和運用。本書提供代碼源文件,便於讀者下載練習。另外,本書還提供網站在線刷題,提高讀者的編程實戰能力。 本書旨在幫助讀者系統學習和掌握 C 語言編程的核心知識和應用技巧,無論是電腦相關專業的新生、程序設計競賽的入門級選手、培訓學員、C 語言程序設計的深入理解和提高者,還是 C 語言編程的教師和畢業求職者,本書都將提供有價值的幫助 。"

目錄大綱

目  錄

第 1 章 C 語言編程入門  1 

視頻講解:110 分鐘 

【實例 01-01】輸出 Hello World! 2 

【實例 01-02】輸出多行信息 3 

【實練 01-01】編程輸出直角三角形 3 

【實練 01-02】編程輸出個人信息 4 

【實例 01-03】輸出學生個人信息 4 

【實例 01-04】計算 1+2 和 3+4 並輸出結果  5 

【實例 01-05】編程計算並輸出(1+8)×2-9÷4+5 的結果   6 

【實例 01-06】輸出數字的平方和立方 6 

【實例 01-07】十進制整數 13 的八進制數和十六進制數  7 

【實例 01-08】計算 1.1+2.2 和 3.3+4.4並輸出結果  8 

【實例 01-09】計算並輸出 8+sin30°的結果 9 

【實練 01-03】求表達式的值 9 

【實例 01-10】IPv6 的地址能分配多久 9 

【實練 01-04】求一元二次方程的根10 

【實例 01-11】計算兩個整數的和 10 

【實例 01-12】變量的地址12 

【實練 01-05】計算三個整數的平均值13 

【實例 01-13】定義整型變量13 

【實例 01-14】數據溢出14 

【實例 01-15】計算 1 ~ n 的和   15 

【實練 01-06】等差數列第 n 項的值15 

【實例 01-16】把秒數轉換為天、小時、 分鐘和秒的方式輸出 16 

【實例 01-17】3 位整數的逆序數  17 

【實練 01-07】4 位正整數的數字平方和  18 

【實例 01-18】變量的值自增 1  18 

【實例 01-19】交換兩個變量的值18 

【實例 01-20】統計總學生數19 

【實例 01-21】計算圓的面積和周長19 

【實例 01-22】計算表達式的值21 

【實練 01-08】3 個實數的平均值  21 

【實例 01-23】計算多項式的值21 

【實例 01-24】輸出字符及其 ASCII 值22 

【實例 01-25】計算兩點的中點23 

【實例 01-26】復利本利計算23 

【實例 01-27】計算貸款餘額24 

【實例 01-28】輸入一個字符,用該字符輸出一個等邊三角形25 

【實例 01-29】把輸入的小寫字母轉換為大寫字母 25 

【實例 01-30】將大寫字母替換為字母表中後 n 位的字母 26 

【實例 01-31】用_Bool 類型判斷命題結果 26 

【實例 01-32】浮點數相加後取整和取整後相加 27 

【實例 01-33】蘋果和蟲子Ⅰ27 

【實例 01-34】復合賦值運算符29 

【實例 01-35】逗號運算符和逗號表達式29 

小結 30 

第 2 章 選擇語句  31 

視頻講解:156 分鐘 

【實例 02-01】3 個整數中的最大值和最小值 31 

【實例 02-02】計算整數 x 的絕對值 34 

【實練 02-01】學生的成績34 

【實練 02-02】偶數34 

【實例 02-03】判斷一個字符是否為小寫字母 35 

【實例 02-04】兩個整數的排序36 

【實練 02-03】整數的奇偶性37 

【實練 02-04】蘋果和蟲子37 

【實例 02-05】蘋果和蟲子Ⅱ37 

【實例 02-06】輸出兩個浮點數中的較大值38 

【實練 02-05】整數的絕對值39

【實例 02-07】3 個整數的排序  39 

【實練 02-06】4 個整數的排序  39 

【實例 02-08】判斷閏年40 

【實練 02-07】兩位正整數40 

【實例 02-09】判斷某個整數是否與 7 有關 40 

【實例 02-10】三角形判斷41 

【實例 02-11】數字拆分 41 

【實例 02-12】誰做了好事42 

【實練 02-08】最佳車的車號43 

【實例 02-13】有一門課不及格的學生43 

【實練 02-09】判斷一個給定的點是否在正方形內 44 

【實例 02-14】雞兔同籠44 

【實練 02-10】分段函數45 

【實例 02-15】攝氏溫度與華氏溫度的換算 46 

【實例 02-16】計算郵資46 

【實例 02-17】判斷成績等級48 

【實練 02-11】輸出星期幾對應的英文單詞 49 

【實例 02-18】判斷字符類型49 

【實例 02-19】瘋狂的“雙 11”  50 

【實例 02-20】求一元二次方程的根50 

【實例 02-21】計算 BMI53 

【實例 02-22】月之天數54 

【實例 02-23】不多於 5 位的正整數的處理 57 

【實練 02-12】不多於 5 位的正整數的處理 58 

【實例 02-24】檢測輸入的字母是否為元音字母 58 

【實例 02-25】簡單計算器59 

【實練 02-13】簡單計算器60 

【實練 02-14】成績等級60 

小結 60 

第 3 章 循環控制語句   61 

視頻講解:288 分鐘 

【實例 03-01】1~n 的整數和  61 

【實練 03-01】求區間內整數的和63 

【實例 03-02】等差數列的和63 

【實練 03-02】求區間內奇數的和64 

【實例 03-03】整數 n 的階乘64 

【實練 03-03】x 的 n 次冪  65 

【實例 03-04】平均年齡問題65 

【實例 03-05】最大跨度值66 

【實例 03-06】真因子之和67 

【實例 03-07】球彈跳的高度67 

【實例 03-08】兔子繁殖問題68 

【實例 03-09】猴子吃桃69 

【實練 03-04】求年齡70 

【實例 03-10】交錯序列前 n 項的和70 

【實練 03-05】分數序列前 n 項和71 

【實例 03-11】特殊 a 串數列的和 71 

【實例 03-12】完數72 

【實例 03-13】質數72 

【實例 03-14】平方根序列求和74 

【實練 03-06】求數列的和74 

【實例 03-15】求π的近似值75 

【實例 03-16】一共來了多少客人76 

【實例 03-17】分離正整數77 

【實練 03-07】統計非負整數中某個數字出現的次數 79 

【實練 03-08】含 k 個 3 的數 79 

【實例 03-18】黑洞數79 

【實例 03-19】數字反轉80 

【實練 03-09】判斷是否為迴文數80 

【實例 03-20】統計字符81 

【實例 03-21】提取數字82 

【實例 03-22】最大公約數83 

【實練 03-10】約分最簡分式85 

【實例 03-23】有理數加法85 

【實例 03-24】分解質因子86 

【實例 03-25】龜兔賽跑87 

【實例 03-26】1~100 之間的質數  88 

【實練 03-11】第 n 小的質數 89 

【實例 03-27】數字統計89 

【實練 03-12】與 7 無關的數的平方和90 

【實例 03-28】數字方格90 

【實例 03-29】多項式求值92 

【實例 03-30】棋盤放糧食93 

【實例 03-31】冪級數展開的部分和93 

【實例 03-32】輸出直角三角形Ⅰ94 

【實練 03-13】輸出三角形字符陣列95 

【實例 03-33】輸出直角三角形Ⅱ95 

【實練 03-14】輸出倒置的直角三角形96 

【實例 03-34】輸出鑽石圖形96 

【實練 03-15】繪制矩形98 

【實練 03-16】輸出沙漏形狀98 

【實例 03-35】金幣數98 

【實例 03-36】連續因子99 

【實例 03-37】不定方程的解 100 

【實例 03-38】找零錢問題 101 

【實練 03-17】百馬百石 103 

【實例 03-39】跳水比賽 103 

【實練 03-18】比飯量 106 

【實練 03-19】誰是嫌疑犯 106 

【實例 03-40】水仙花數 106 

【實例 03-41】同行列對角線的格 107 

【實例 03-42】第幾天 108 

小結  109 

第 4 章 函數 110 

視頻講解:192 分鐘 

【實例 04-01】輸出 3 個整數中的最大值 110 

【實練 04-01】兩數的調和平均數 112 

【實練 04-02】檢測 x 和 y 是否在閉區間[0, n1]內 112 

【實例 04-02】找出 3 個數的中間數 112 

【實例 04-03】計算 m~n 之間所有整數的和  114 

【實練 04-03】求整數 n! 114 

【實例 04-04】完美立方 114 

【實例 04-05】1 的個數115 

【實例 04-06】哥德巴赫猜想 116 

【實例 04-07】完數統計 117 

【實例 04-08】既是質數又是迴文數的個數  118 

【實練 04-04】輸出質數 120 

【實練 04-05】尋找質數 120 

【實例 04-09】判斷是否與 7 無關 120 

【實例 04-10】醜數 120 

【實例 04-11】x 的算術平方根122 

【實例 04-12】輸出 n 行數字金字塔 123 

【實例 04-13】輸出個人名片 124 

【實例 04-14】正整數的處理 124 

【實例 04-15】月之天數 126 

【實練 04-06】第幾天 127 

【實例 04-16】輸出 n 天後的日期 127 

【實例 04-17】最大公約數 128 

【實練 04-07】最小公倍數 129 

【實例 04-18】雙親數 129 

【實例 04-19】計算組合數 130 

【實例 04-20】統計某個整數中某位數字出現的次數 131 

【實例 04-21】計算 sinx 和 cosx 的近似值 132 

【實例 04-22】計算 e 值  133 

【實例 04-23】四則運算長算式 134 

【實例 04-24】一個整數的隨機因子 135 

【實例 04-25】100 以內四則運算口算自動出題 136 

【實練 04-08】擲骰子游戲 139 

【實例 04-26】局部變量和全局變量 139 

【實例 04-27】局部變量同名時的作用域  140 

【實例 04-28】局部變量和全局變量同名時的作用域  141 

【實例 04-29】靜態局部變量 141 

小結  142 

第 5 章 數組143 

視頻講解:328 分鐘 

【實例 05-01】與指定數相同的數的個數 143 

【實例 05-02】數組內存佈局 144 

【實例 05-03】整數的統計 146 

【實例 05-04】月之天數 146 

【實練 05-01】計算天數 147 

【實例 05-05】兔子繁殖問題 148 

【實練 05-02】母牛的故事 148 

【實例 05-06】摘桃子 148 

【實例 05-07】大於平均年齡的人 149 

【實練 05-03】與平均年齡相差幾歲 150 

【實例 05-08】數組逆置存放 150 

【實例 05-09】向量的點積 151 

【實例 05-10】人民幣支付 152 

【實例 05-11】發工資  152 

【實例 05-12】瘋狂的“雙 11”   154 

【實練 05-04】瘋狂的“雙 11”(升級版)  154

【實例 05-13】逆序對數 154 

【實例 05-14】兩倍問題 155 

【實例 05-15】兩數之和 156 

【實練 05-05】數組的距離 157 

【實例 05-16】進制轉換 157 

【實例 05-17】校門外的樹 158 

【實練 05-06】線段覆蓋 159 

【實例 05-18】開關燈問題 160 

【實例 05-19】篩選法找出 1~100 之間的質數  161 

【實例 05-20】第 n 小的質數 162 

【實練 05-07】質數對猜想 163 

【實例 05-21】查找特定的值 163 

【實例 05-22】求最小值及其下標 164 

【實例 05-23】移動 0164 

【實例 05-24】真因子之和 165 

【實例 05-25】均值與誤差 166 

【實練 05-08】青年歌手大獎賽 167 

【實例 05-26】裝箱問題 167 

【實例 05-27】刪除元素 169 

【實例 05-28】最長平臺問題 169 

【實例 05-29】有序整數的去重 171 

【實例 05-30】移除數組值為特定值的所有元素  172 

【實例 05-31】第 k 小的數  173 

【實例 05-32】王老師隨機點名 173 

【實練 05-09】絕對值排序 174 

【實練 05-10】最接近的數 175 

【實例 05-33】數列有序 175 

【實練 05-11】尋找第 k 大的數  176 

【實例 05-34】組成最小數 176 

【實例 05-35】直方圖 177 

【實練 05-12】數字統計 177 

【實例 05-36】顏色分類 178 

【實例 05-37】大於平均年齡 179 

【實例 05-38】二維數組在內存中的佈局 180 

【實例 05-39】矩陣交換行 181 

【實練 05-13】矩陣交換列 182 

【實例 05-40】計算矩陣邊緣元素之和 182 

【實練 05-14】主次對角線上的元素之和 183 

【實例 05-41】圖像模糊處理 183 

【實練 05-15】矩陣的加法 185 

【實練 05-16】圖像相似度 185 

【實例 05-42】矩陣的乘法 185 

【實例 05-43】楊輝三角 186 

【實例 05-44】魔方矩陣 187 

【實例 05-45】螺旋矩陣 189 

【實練 05-17】矩陣的螺旋(回形)遍歷 190 

【實例 05-46】蛇形矩陣 190 

【實練 05-18】右上左下遍歷 191 

小結  192 

第 6 章  指針193 

視頻講解:276 分鐘 

【實例 06-01】使用指針變量存儲整型變量的地址  193 

【實練 06-01】指針變量 194 

【實例 06-02】使用未初始化的指針變量 195 

【實例 06-03】指向無效內存空間的指針 196 

【實例 06-04】指針變量所占字節數 196 

【實例 06-05】3 個整數的排序197 

【實練 06-02】4 個整數的排序198 

【實例 06-06】const 與指針變量  198 

【實例 06-07】日期轉換 200 

【實例 06-08】通過指針訪問數組 201 

【實例 06-09】將數組的元素值逆置後輸出  201 

【實例 06-10】 *p++、*++p 和(*p)++203 

【實例 06-11】整數序列的元素最大跨度值  204 

【實練 06-03】向量的點積 206 

【實例 06-12】與最大數不相同的數的和 206 

【實練 06-04】多數元素 207 

【實例 06-13】選組長 208 

【實例 06-14】出現次數最多的整數 209 

【實例 06-15】存在重復元素 210 

【實例 06-16】無序整數的去重 211 

【實練 06-05】將數組分成和相等的三個部分  212 

【實例 06-17】循環右移數組 212 

【實練 06-06】循環左移數組 214 

【實例 06-18】數組形式的整數加法 214 

【實例 06-19】中位數 215 

【實例 06-20】集合的並集 217 

【實例 06-21】合並兩個有序數組 219 

【實例 06-22】兩個數組非共有的元素 220 

【實練 06-07】找出兩個數組共有的元素 222 

【實例 06-23】數組的相對排序 222 

【實練 06-08】出現最多的數字 223 

【實例 06-24】void*數據類型   223 

【實例 06-25】動態一維數組 224 

【實例 06-26】歡樂的跳躍 227 

【實例 06-27】隨機生成指定長度的字符串  229 

【實例 06-28】指針數組 230 

【實例 06-29】日歷問題 230 

【實例 06-30】楊輝三角—不等長的動態二維數組  232 

【實例 06-31】二級指針 233 

【實例 06-32】矩陣求和 233 

【實練 06-09】矩陣的旋轉 235 

【實例 06-33】通過行指針輸出二維數組 235 

【實例 06-34】計算鞍點 236 

【實練 06-10】最匹配的矩陣 237 

【實例 06-35】返回指針的函數 238 

【實例 06-36】通過函數指針調用不同的函數  239 

【實例 06-37】輸入兩個運算數,輸出四則運算的結果  240 

【實例 06-38】qsort 函數與函數指針   241 

【實例 06-39】最大間距 242 

【實例 06-40】數字黑洞 243 

小結  244 

第 7 章 字符串  245 

視頻講解:376 分鐘 

【實例 07-01】字符數組與字符串 245 

【實例 07-02】標題統計 246 

【實練 07-01】基因相關性 247 

【實例 07-03】被 3 整除 248 

【實例 07-04】信息加密 249 

【實練 07-02】信息加密 250 

【實例 07-05】信息解密 250 

【實例 07-06】加密的病歷單 251 

【實練 07-03】字符串加密 253 

【實例 07-07】統計元音字母 253 

【實例 07-08】字符數組和字符串的區別 254 

【實例 07-09】統計字符數 255 

【實例 07-10】字母重排 255 

【實例 07-11】第一個只出現一次的字符  257 

【實例 07-12】字符串常量 258 

【實例 07-13】連續出現的字符 259 

【實例 07-14】字符串 p 型編碼 260 

【實例 07-15】統計單詞 261 

【實練 07-04】首字母變大寫 262 

【實例 07-16】單詞的長度 262 

【實例 07-17】最長的單詞 263 

【實例 07-18】特定單詞的個數 265 

【實練 07-05】比較字符串大小 266 

【實例 07-19】單詞的翻轉 266 

【實例 07-20】刪除多餘的空格 267 

【實練 07-06】刪除多餘的空格(升級版)  268 

【實例 07-21】說反話 268 

【實例 07-22】單詞的排序 269 

【實例 07-23】DNA 排序  271 

【實例 07-24】替換單詞 273 

【實例 07-25】念數字 274 

【實練 07-07】田徑運動會 275 

【實例 07-26】電話號碼生成英語單詞 275 

【實練 07-08】478-3279  276 

【實例 07-27】迴文密碼 277 

【實例 07-28】驗證郵箱 278 

【實練 07-09】檢查合法 C 標識符   279 

【實例 07-29】安全密碼 280 

【實練 07-10】IP 地址判斷 281 

【實例 07-30】驗證子序列 281 

【實例 07-31】驗證子串 283 

【實例 07-32】字符環 283 

【實例 07-33】字符最大跨距 285 

【實例 07-34】刪除單詞後綴 286 

【實例 07-35】刪除子串 287 

【實例 07-36】十進制形式的 IP 地址  288 

【實練 07-11】十六進制轉十進制  290 

【實例 07-37】十六進制形式的 IP 地址  290 

【實練 07-12】N 進制轉 M 進制   291 

【實例 07-38】ISBN 號碼 291 

【實例 07-39】出書最多的作者 292 

【實例 07-40】大整數加法 294

【實練 07-13】大整數減法 296 

【實練 07-14】求一個不超過 10000 的整數的階乘  296 

小結  296 

第 8 章  結構體、結構體數組與鏈表  297 

視頻講解:280 分鐘 

【實例 08-01】輸出學生信息 297 

【實練 08-01】圖書的結構體類型 300 

【實例 08-02】計算兩點間的距離 300 

【實練 08-02】三角形面積 301 

【實例 08-03】計算矩形的面積 301 

【實例 08-04】結構體變量所占字節數 302 

【實練 08-03】計算結構體變量所占字節數  303 

【實例 08-05】輸出 n 天後的日期 303 

【實練 08-04】日期的前一天 305 

【實例 08-06】結構體中的字符數組和字符指針  305 

【實例 08-07】成績統計 305 

【實例 08-08】賬戶查詢 306 

【實例 08-09】浮點數格式 308 

【實例 08-10】求集合的並集 309 

【實練 08-05】集合的交運算和差運算 310 

【實例 08-11】按平均成績排序  310 

【實練 08-06】生日相同Ⅰ 312 

【實例 08-12】身高排序 313 

【實練 08-07】分數線劃定 314 

【實例 08-13】誰是解題數量最多的學生 314 

【實例 08-14】計算與指定數字相同的數的個數(鏈表)  316 

【實例 08-15】刪除整數序列中與 x 相等的元素  318 

【實例 08-16】按平均成績排序(鏈表) 321 

【實練 08-08】生日相同Ⅱ 323 

【實例 08-17】去重排序 323 

【實例 08-18】子串計算 325 

【實練 08-09】集合並運算(要求使用鏈表存儲集合)  327 

【實例 08-19】相交鏈表 328 

【實例 08-20】刪除鏈表倒數第 n 個節點 331 

【實例 08-21】刪除有序鏈表中的重復元素Ⅰ  333 

【實例 08-22】刪除有序鏈表中的重復元素Ⅱ  333 

【實例 08-23】反轉鏈表Ⅰ 335 

【實例 08-24】反轉鏈表Ⅱ 335 

【實練 08-10】重排鏈表中的節點 336 

【實例 08-25】分隔鏈表 337 

【實例 08-26】猴子選大王(循環鏈表) 338 

【實例 08-27】環形鏈表 341 

【實例 08-28】序列操作(雙向鏈表) 342 

【實例 08-29】使用聯合類型存儲數據 345 

【實例 08-30】位字段 347 

小結  348 

第 9 章 位運算349 

視頻講解:87 分鐘 

【實例 09-01】判斷是奇數還是偶數 349 

【實例 09-02】區間位對應的整數Ⅰ 350 

【實練 09-01】計算二進制數對應的整數 351 

【實例 09-03】將二進制位設置成 1351 

【實練 09-02】二進制數置 1352 

【實例 09-04】2 的 n 次冪倍352 

【實例 09-05】區間位對應的整數Ⅱ 353 

【實練 09-03】二進制位整數 353 

【實例 09-06】位取反 353 

【實練 09-04】取反 355 

【實例 09-07】交換兩個變量的值 355 

【實例 09-08】簡單的加密 355 

【實例 09-09】只出現一次的整數 356 

【實例 09-10】某些位清零 356 

【實練 09-05】清零 357 

【實例 09-11】將區間位設置成 1357 

【實練 09-06】設置為 1357 

【實例 09-12】區間位賦值 357 

【實例 09-13】1 的個數358 

【實例 09-14】2 的整數冪359 

【實例 09-15】集合的子集 360 

小結  361 

第 10 章 文件   362 

視頻講解:88 分鐘 

【實例 10-01】文件的打開與關閉 362 

【實練 10-01】打開文件 364 

【實例 10-02】從文件中讀取單詞 364 

【實練 10-02】統計字符個數 367 

【實例 10-03】復制文件 367

【實練 10-03】寫入文本文件 368 

【實例 10-04】格式化方式讀/寫文件   368 

【實例 10-05】數據塊的讀/寫   370 

【實練 10-04】讀/寫學生信息   373 

【實例 10-06】隨機讀/寫文件   373 

【實練 10-05】青年歌手大賽記分程序 375 

小結  375 

第 11 章 遞歸  376 

視頻講解:237 分鐘 

【實例 11-01】計算 n! 377 

【實練 11-01】醜數  378 

【實例 11-02】非負整數位數  378 

【實練 11-02】判斷偶數  379 

【實例 11-03】Ackermann 函數  379 

【實練 11-03】計算組合數  380 

【實例 11-04】二進制輸出整數  380 

【實練 11-04】正序輸出非負整數 x 的每一位  381 

【實練 11-05】計算 a 的 n 次方  381 

【實例 11-05】爬樓梯  381 

【實例 11-06】青蛙過河  382 

【實例 11-07】最大公約數  384 

【實例 11-08】選擇排序  384 

【實練 11-06】冒泡排序  385 

【實例 11-09】判斷一個單鏈表是否有序  385 

【實例 11-10】反轉鏈表  386 

【實例 11-11】從鏈表中移除節點  386 

【實例 11-12】漢諾塔問題  388 

【實例 11-13】紅與黑  391 

【實例 11-14】魔幻二維數組  392 

【實例 11-15】分解因子  394 

【實練 11-07】整數劃分問題  395 

【實練 11-08】放蘋果  395 

【實例 11-16】折半查找  396 

【實練 11-09】搜索插入位置  397 

【實例 11-17】兩數之和  397 

【實例 11-18】歸並排序  398 

【實例 11-19】數組中的逆序對  400 

【實練 11-10】統計數字  401 

【實例 11-20】快速排序  402 

【實例 11-21】排序鏈表  403 

【實練 11-11】使用歸並排序對鏈表進行排序  405 

【實例 11-22】分書問題  405 

【實例 11-23】n 個整數的全排列407 

【實例 11-24】八皇後  408 

【實例 11-25】迷宮問題  410 

【實練 11-12】紅與黑(深度優先搜索算法)  413 

【實例 11-26】跳馬問題  413 

【實練 11-13】集合分解  415 

小結  415 

第 12 章 棧和隊列   417 

視頻講解:149 分鐘 

【實例 12-01】十進制非負整數轉換為二進制數輸出  417 

【實例 12-02】D 進制的 A+B 420 

【實練 12-01】不多於 5 位的正整數的輸出  420 

【實例 12-03】刪除最外層的括號 420 

【實例 12-04】括號匹配 422 

【實練 12-02】括號的最大嵌套深度 423 

【實練 12-03】刪除無效括號 423 

【實例 12-05】寫出這個數 423 

【實例 12-06】迴文鏈表 424 

【實例 12-07】說反話 425 

【實例 12-08】後綴表達式計算 426 

【實例 12-09】棒球比賽 427 

【實例 12-10】比較含退格符的字符串 428 

【實例 12-11】計算中綴表達式  429 

【實例 12-12】小孩報數問題 433 

【實例 12-13】銀行業務隊列簡單模擬 435 

【實例 12-14】Freda 的隊列 437 

【實例 12-15】買票需要的時間 438 

【實例 12-16】Rabin-Karp 字符串匹配  440 

【實例 12-17】機器翻譯 441 

【實例 12-18】Blah 數集 442 

【實例 12-19】滑動窗口 443 

【實例 12-20】判斷棧和隊列 445 

小結  446 

第 13 章 前綴和與差分 447 

視頻講解:91 分鐘 

【實例 13-01】子數組的和 447 

【實例 13-02】和為 k 的子數組個數  448 

【實練 13-01】連續自然數的和 449

【實例 13-03】最大子段和 449 

【實練 13-02】長度為 k 的子數組的最大和  450 

【實例 13-04】字符的個數 450 

【實例 13-05】操作後的序列 451 

【實練 13-03】種樹 452 

【實例 13-06】校門外的樹 453 

【實例 13-07】子矩陣的和 454 

【實練 13-04】數星星 455 

【實例 13-08】修改後的矩陣 456 

【實例 13-09】地毯問題 457 

【實練 13-05】區間和的個數 459 

小結  459 

第 14 章  貪心算法  460 

視頻講解:79 分鐘 

【實例 14-01】分發餅乾 460 

【實練 14-01】最大總和 462 

【實例 14-02】三角形的最大周長 462 

【實練 14-02】字符串中的最大奇數 463 

【實例 14-03】6 和 9 組成的最大數字464 

【實例 14-04】活動安排 465 

【實例 14-05】背包問題Ⅰ 467 

【實例 14-06】最優分解 469 

【實練 14-03】多處最優服務次序問題 470 

【實例 14-07】區間覆蓋 470 

【實例 14-08】刪數問題 472 

【實練 14-04】最大數 473 

【實例 14-09】背包問題Ⅱ 473 

【實例 14-10】最優合並問題 474 

【實練 14-05】字典序最小問題 476 

小結  477 

第 15 章  動態規劃  478 

視頻講解:312 分鐘 

【實例 15-01】爬樓梯 478 

【實例 15-02】數塔問題 479 

【實練 15-01】三角形最小路徑和 481 

【實例 15-03】最少通行費 481 

【實例 15-04】最短路徑 483 

【實例 15-05】不同的路徑 485 

【實例 15-06】子數組的最大和 486 

【實練 15-02】子數組和的絕對值的最大值  487 

【實練 15-03】環狀子數組的最大和 487 

【實例 15-07】拆分乘積最大的整數 487 

【實例 15-08】聰明的小王 488 

【實例 15-09】最長上升子序列 490 

【實練 15-04】求最長不下降序列 491 

【實例 15-10】攔截導彈 491 

【實練 15-05】登山 493 

【實例 15-11】友好城市  493 

【實例 15-12】信封套娃 494 

【實例 15-13】合唱隊形 496 

【實例 15-14】挖地雷 497 

【實例 15-15】0-1 背包問題 499 

【實例 15-16】機器分配 500 

【實例 15-17】購物最大優惠 502 

【實例 15-18】裝箱問題 503 

【實例 15-19】完全背包問題 504 

【實例 15-20】多重背包問題 505 

【實例 15-21】將整數劃分成 k 個整數  506 

【實練 15-06】放蘋果 507 

【實練 15-07】劃分成若乾正整數之和 507 

【實練 15-08】劃分成若乾不超過 k 的正整數之和  508 

【實練 15-09】劃分成若乾不同的正整數之和  508 

【實練 15-10】劃分成若乾奇數之和 508 

【實例 15-22】兌換零錢最少 508 

【實練 15-11】完全平方數  509 

【實例 15-23】兌換零錢方案數問題Ⅰ 509 

【實例 15-24】兌換零錢方案數問題Ⅱ 511 

【實練 15-12】買書 511 

【實例 15-25】將整數拆分成質數 512 

【實例 15-26】最長公共子序列 513 

【實例 15-27】最長迴文子串 514 

小結  515 

附錄 A 運算符的優先級與結合性  516 

附錄 B 常用字符的 ASCII 碼對照表 517