MFC 客戶端開發實戰筆記:系統托盤、多語言、屬性頁、MD5、控制台調試等常用技巧匯總
前言 MFC 雖然歷史悠久,但文檔完善、Demo 豐富,企業級 Windows 客戶端開發仍是主力選擇。本文整理實戰中高頻用到的功能模塊代碼片段與關鍵點,作為快
最短路徑實戰:POJ 1874 暢通工程續 - Dijkstra 算法模板詳解
問題描述 給定無向加權圖(N≤200 個節點,M≤1000 條邊),多組查詢,每組給定起點 S 和終點 T,求最短路徑長度。不可達輸出 -1。S=T 輸出 0。
二叉樹核心操作全家桶:創建、前序遍歷、求深度、釋放內存(C 語言實現)
節點定義 struct tnode { int data; struct tnode *lchild; struct tnode *rc
面試高頻:查找字符串中第一個只出現一次的字符(O(n) 雙遍歷法)
問題描述 給定一個字符串,找出第一個只出現一次的字符。例如 abaccdeff → b。要求時間 O(n),空間 O(1)(字符集固定)。 核心算法:哈希統計
NYOJ 1372 Do What - 0/1 背包變體:最小超過目標值的子集和
問題重述 給定 n (≤100) 個正整數 t_i (≤10) 和目標值 T (≤1000),從中選取若干數使其和 嚴格大於 T 且 和最小。若無解輸出 -1。
C++ 友元類實戰:Time 與 Date 協作實現跨日期時間遞增
項目背景 煙台大學 2013 年上機任務「項目3-友元類」。設計 Time 和 Date 兩個類,Time 作為 Date 的友元類,可直接訪問 Date 的私
C++ 三種計算點距離方式深度對比:成員函數 vs 友元函數 vs 普通函數
項目背景 煙台大學 2013 年上機任務「項目2-成員函數、友元函數和一般函數之區別 點類」。通過三種不同方式計算兩點距離,直觀展示 C++ 封裝、訪問控制與接
C++ 靜態成員深度實戰:Time 時間類的 12/24 時制與前導零切換
項目背景 這是煙台大學計算機學院 2013 年上機任務「項目1-靜態成員應用時間類」。要求設計一個 Time 類,利用靜態成員變量控制全局顯示格式:12/24
POJ 1155 TELE - 樹形 DP 背包問題詳解
問題背景 POJ 1155「TELE」是一道經典的樹形 DP + 分組背包問題。給定一棵有根樹,葉子節點有收益值,內部節點通過邊連接子節點且有建設成本。目標是選
面試必刷:單鏈表核心操作全解析(創建、反轉、刪除、相交判斷)
前言 單鏈表是數據結構面試的「必考王」,不僅考察指針操作基本功,更能通過擴展題(如環檢測、相交節點、合併有序表)考察邏輯思維。本文系統梳理單鏈表的創建、遍歷、反
面試必考:C 標準庫字符串處理函數手寫實現詳解
前言 在 C/C++ 面試中,手寫字符串處理函數是考察基本功的經典題目。這不僅測試對指針操作的熟練度,也能看出候選人對邊界條件、內存安全及標準庫行為的理解深度。
C++ 雙向循環鏈表完整實現:插入、刪除與遍歷操作詳解
數據結構圖示 雙向循環鏈表中,每個結點擁有 pre 和 next 兩個指針,首尾相連形成環。頭指針 first 指向第一個結點,尾結點的 next 指向 fir
C++ 運算子多載完整指南:+、+=、<<、= 的正確實作模式
核心原則 運算子建議形式回傳型別備註 +(二元)非成員 friend值(T)對稱性、支援隱含轉換 +=(複合指派)成員函式參考(T&)修改左運算元、鏈式呼叫
強連通分量專題:HDU 2767、1269、1872 Tarjan 算法全解析
核心算法:Tarjan SCC 以 O(V+E) 找出有向圖所有強連通分量(SCC)。關鍵數組: dfn[u]:DFS 時間戳 low[u]:能回溯到的最早祖
HDU 2874 與 2586:Tarjan 離線 LCA 求樹上距離與連通性
共同核心:Tarjan 離線 LCA 兩題皆涉及樹上兩點距離查詢。Tarjan 離線 LCA 利用並查集(Union-Find)在 DFS 過程中動態合併子樹,
HDOJ 4501 買年貨:三維 0/1 背包的多重限制變形
題目背景 有 n 種年貨,每種有三種屬性:價格 v₁、體積 v₂、數量限制 1(0/1)。你有兩種貨幣預算 V₁、V₂,以及最多可購買 K 件的件數限制。求最大
POJ 1002 電話號碼對應:Java 實作與 TreeMap 去重統計
題目大意 給定 n 組電話號碼字串(含數字、大寫字母、連字號),依電話鍵盤映射規則轉換為標準 7 位數字格式(XXX-XXXX),統計重複出現的號碼及其次數,按
HDOJ 4502 臨時工計劃:區間動態規劃求最大收益
問題重述 有 m 天可工作,n 個兼職任務。任務 i 從第 aᵢ 天開始、第 bᵢ 天結束(含),報酬 wᵢ。每天最多只能做一個任務,任務不可拆分。求最大總報酬