C++ 一維與二維動態陣列手動管理:new/delete 與指標運算完整指南
陣列本質與指標差異 靜態陣列 int a[10] 的陣列名是常量指標 const int*,不可修改地址(a++ 非法)。但作為函數形參時退化為普通指標,失去常
Linux 內核 dm_io_async_bvec 函數深度解析:異步塊 I/O 請求封裝與分發流程
函數原型與作用 dm_io_async_bvec 是 device-mapper 子系統提供的異步 I/O 介面,支援 bio_vec 類型記憶體緩衝區,適用於
經典排序演算法 C++ 實現:冒泡、選擇、快速排序
冒泡排序 相鄰元素兩兩比較,大者後移。優化:內層迴圈範圍逐輪縮小。交換採用 XOR 技巧避免臨時變數。 void BubbleSort(int arr[], i
C++ 可變參數函數詳解:va_list、va_start、va_arg、va_end 使用指南
核心宏與頭文件 定義於 <cstdarg>(C++)或 <stdarg.h>(C),包含四個關鍵宏: va_list:參數列表類型 v
百萬富翁問題:等比級數求和與單位換算陷阱
題目情境 百萬富翁每天給陌生人 10 萬元,陌生人第一天給 1 分,第二天 2 分,第三天 4 分……每天翻倍,持續 30 天。求雙方總共給出金額(富翁單位:萬
矩陣乘法實作:2×3 與 3×2 矩陣相乘得 2×2 結果
題目要求 固定維度:第一矩陣 2×3,第二矩陣 3×2,輸出 2×2 乘積矩陣,每個數字後跟一空格。多組測試數據至 EOF。 演算法流程 讀入第一矩陣 6
HDU 1242 Rescue:多起點 BFS 求最短救援時間
問題描述 N×M 迷宮(N,M ≤ 200),包含牆壁(#)、道路(.)、天使(a)、營救者(r)、守衛(x)。移動上下左右各耗 1 時間,殺守衛額外耗 1 時
字串連接實作:不使用 strcat 的 MyStrcat 函數詳解
題目來源 2012 年哈爾濱工業大學計算機研究生機試真題(九度OJ 1490)。要求自行實現 MyStrcat(char dstStr[], char srcS
二分搜尋實作與邊界查找擴展:左most/右most 邊界的 O(log n) 定位
標準二分搜尋模板 採用左閉右開區間 [low, high),回傳找到的位置;若不存在,回傳 -(插入位置 + 1) 以便後續插入操作。 static int B
如何生成均勻分布的隨機整數:從模運算偏差到拒絕採樣
問題引入 在 C/C++ 中,rand() 產生 [0, RAND_MAX] 之間均勻分布的隨機數。若直接使用 rand() % N 獲取 [0, N-1],只
清橙OJ A1036:質因數分解演算法解析與C++實現
題目背景 清橙OJ A1036 要求對給定區間 [a, b] 內的每個整數進行質因數分解,並按格式輸出。這是一道經典的數論與篩法結合的練習題。 核心思路 解法
C++ 通用計時器組件設計與實現:基於 std::function 與單例模式的延遲調用框架
背景動機:遊戲主循環中的時間驅動需求 在遊戲開發、實時模擬、網絡心跳等場景,頻繁出現「延遲 N 毫秒執行某邏輯」、「每隔 T 毫秒輪詢一次」的需求。傳統做法在主
Google C++ 風格指南精讀:命名規範全解析與工程落地實踐
為什麼大廠都要強制統一命名風格? 代碼的可讀性決定了團隊協作效率與長期維護成本。Google C++ Style Guide 作為業界標桿,其命名約定不僅規範了
UVA 10069 - Distinct Subsequences:DP + 高精度大整數計數子序列出現次數
題目大意 給定兩個字符串 A(長度 ≤ 10000)和 B(長度 ≤ 100),求 B 作為 A 的子序列(不要求連續,順序保持)出現的次數。結果可能極大,需高
字典樹(Trie)核心原理與 C++ 實現:從基礎插入查詢到 AC 自動機前置知識
什麼是字典樹? 字典樹(Trie,前綴樹 / 字典樹) 是一種樹形數據結構,專門用於處理字符串集合的高效存儲、查詢與前綴匹配。每個節點代表一個字符,從根到節點的
UVA 825 - Walking on the Safe Side:網格 DP 計數最短路徑數的遞歸與記憶化實現
題目大意 給定一個 m × n 的網格,從左上角 (1,1) 走到右下角 (m,n),每步只能向右或向下移動(保證步數最少)。部分交叉點被封鎖不可通行。求有多少
Manacher 算法詳解:線性時間求最長回文子串的核心技巧與 C++ 實現
問題引入:為何需要 O(n) 算法? 給定字符串 s,求其最長回文子串長度。暴力枚舉中心擴展需 O(n²),動態規劃同樣 O(n²) 空間。1975 年 Gle
貪心算法入門經典:活動安排問題的兩種實現與核心思想解析
從「今年暑假不 AC」談起 大一刷 ACM 時在杭電 OJ 遇過一道經典題目——「今年暑假不 AC」。題目大意:給定一組電視節目的開始與結束時間,求最多能完整觀