稀疏矩陣的十字鏈表存儲與加法運算 C++ 實現
稀疏矩陣定義:「非零元較少且分布無規律」。清華 2000 考研題曾引發爭議:1000 階、1000 邊的鄰接矩陣是否稀疏?舊教材(嚴蔚敏版)強調「分布無規律」,
C++ 數據結構實戰:棧與隊列的模板化實現及應用
棧與隊列屬於操作受限的線性表。順序存儲需預分配空間且隨機存取優勢盡失,鏈式結構應為首選。本文基於單鏈表模板,以繼承方式極簡實現兩者,並展示表達式求值與銀行排隊模
深度解析遞歸:從理論誤區到漢諾塔的非遞歸實戰
曾見一道經典面試題:「結構化程序設計的三大基礎結構——順序、選擇、循環,是否不可或缺?」答案令人深思:只要擁有遞歸,循環便非必需。以數組求和為例,遞歸寫法如下:
C++ 排序算法大全:從插入到基數,原理、實現與實測性能對比
系統實現並測試主流內部排序算法,統一測試框架記錄關鍵碼比較次數 (KCN) 與記錄移動次數 (RMN),在 10,000/100,000 整數隨機/有序/逆序數
C++ 數據結構核心:二叉樹與二叉搜索樹完整實現與性能分析
二叉樹是模擬現實層級結構(族譜、目錄、決策樹)的基礎模型。本文實現鏈式二叉樹、四種遍歷、線索化分析、二叉搜索樹(BST)插入刪除查找,並通過實測對比遞歸與非遞歸
C++ 數據結構進階:圖的存儲、遍歷與核心算法完整實現
圖是應用最廣泛的數據結構,其核心在算法而非存儲。本文實現圖的兩種主流存儲(鄰接矩陣、鏈接表),並詳細講解 DFS/BFS 遍歷、最小生成樹(Prim/Krusk
C++ 異常規格:為什麼應審慎使用與最佳替代方案
異常規格(throw())看似吸引人:它文檔化了函數可能拋出的異常,編譯器能部分檢查一致性,運行時違反會調用 unexpected()。但實際上它充滿陷阱,C+
C++ 實現 Windows Vista Aero 毛玻璃效果:DWM API 完整指南
Windows Vista 引入的桌面窗口管理器(DWM)帶來了標誌性的 Aero 毛玻璃視覺效果。本文演示如何在基於 WTL 的 C++ 原生程序中集成毛玻璃
C++ 實戰:構建書店銷售統計程序完整流程
運用前文學習的 Sales_item 類,我們現在可以構建完整的書店銷售報表程序:讀取銷售記錄文件,按 ISBN 分組統計每本書的總銷量、總收入與平均售價。
C++ 入門核心:類機制與 Sales_item 實戰詳解
在解決實際問題(如書店銷售統計)前,我們需要理解如何用 C++ 定義數據結構。類(class)是 C++ 最核心的特性之一,設計初衷是讓自定義類型的操作像內置類
C++ 轉換運算符重載:機制、應用場景與效能陷阱全解析
C++ 提供了轉換運算符重載,使自定義類對象能像內置類型一樣進行強制類型轉換(如 (int)obj)。這是一種特殊的成員函數,語法獨特且威力強大,但若使用不當極
C++ 運算符重載:深入掌握賦值運算符與深拷貝實現
自定義類的賦值運算符重載函數功能類似內置賦值運算符,但與拷貝構造函數、析構函數一樣,必須嚴謹處理「深拷貝」與「淺拷貝」問題。若未顯式定義,編譯器會自動生成一個預
深入解析 C++ iostream 標準庫:從基礎到文件與字串流操作
在 C++ 程式設計的旅程中,輸入輸出(I/O)操作是我們從第一行代碼就開始接觸的核心功能。這一切都建立在 iostream 標準庫之上。與 C 語言的 std
C++ 箴言:如何在衍生類別模板中存取模板化基類別的名稱
問題情境 基類別為類別模板 MsgSender<Company>,衍生類別 LoggingMsgSender 需呼叫基類別方法 sendClear(
C++Builder 集合操作實戰:TShiftState 與 Set 模板類別應用
一、TShiftState 實際案例 滑鼠事件 OnMouseDown 參數 Shift: TShiftState 即為集合型別: enum TShiftSta
C++Builder 以 WIN.INI 儲存應用程式設定:WriteProfileString/GetProfileInt 實作
一、為何選擇 WIN.INI? 註冊表隨軟體增加龐大易出錯;少量設定(視窗位置、使用者偏好)用 WIN.INI 更直觀、易手動編輯、備份遷移簡單。 二、核心
C++Builder 資料庫 VCL 實戰技巧:DBGrid、TQuery 與查詢程式範例
一、DBGrid 進階設定 1. 欄位寬度控制 欄位顯示寬度受標題文字限制:若欲顯示 3 字元寬,標題必須 ≤ 3 字元。 2. 自訂顯示欄位與日期格式 雙
QuickReport 元件完整入門:頻帶架構、群組報表與條件列印
一、核心元件速查 元件用途 TQuickRep報表容器,擁有座標系統,Bands 屬性自動加入頻帶 TQRLabel靜態文字(如標題),Caption 直接列