原创 《二十三種設計模式》 第五篇 “工廠模式” (C++實現)

工廠模式是二十三中設計模式中最常用的一種模式之一,幾乎所有開源的框架都有用到工廠模式。 工廠模式可以分爲三種:簡單工廠模式、工廠方法模式、抽象工廠模式。 其中,簡單工廠模式並沒有列入到二十三中設計模式中,應爲其太簡單了,而且違反了

原创 C/C++ 比 ‘二叉樹算法’ 效率更高的 ‘哈希表算法’

哈希表的簡介 今天寫下一篇哈希表算法,他的查找效率可是比二叉樹還要高。 哈希表的運用場景還是挺多的,比如‘分佈式文件系統存儲引擎’、‘基因測試’等。 哈希表 又稱 散列表,它是基於快速存取的角度設計的,也是一種典型的“空間換時間”

原创 《二十三種設計模式》 第四篇 “代理模式” (C++實現)

代理模式的原理: 代理(Proxy)提供了間接對目標對象進行訪問的方式,即通過代理對象訪問目標對象。其好處是:可以在目標對象實現的功能上,增加額外的功能補充,即擴展目標對象的功能。這就符合了設計模式的開閉原則,即在對既有代碼不改動

原创 C/C++ 程序員必須會的《二叉樹》

二叉樹的概念 二叉樹猶如我們的族譜一般! 他也像是一顆倒立的大樹! 樹狀圖是一種數據結構,它是由 n(n>=1)個有限結點組成一個具有層次關係的集合。把它叫做“樹”是因爲它看起來像一棵倒掛的樹,也就是說它是根朝上,而葉朝下的。它具

原创 《二十三種設計模式》 第三篇 “中介者模式” (C++實現)

定義: 用一箇中介對象來封裝一系列的對象交互。中介者使各對象不需要顯式地相互引用,從而使其耦合鬆散,而且可以獨立地改變它們之間的交互。 簡單點來說,將原來兩個直接引用或者依賴的對象拆開,在中間加入一個‘中介’對象,使得兩頭的對象分

原创 C/C++ 報錯提示 “表達式必須包含類類型” 與 “不可訪問”

今天給大家分享兩個常見的錯誤: (定義對象 || 調用函數) 時提示:“表達式必須包含類類型” 的報錯; 對象調用函數時提示:“不可訪問” 的報錯。 一、表達式必須包含類類型 這種報錯會出現在兩種情況: 類沒有數據成員時,

原创 C/C++ 納尼?你還不知道控制檯窗口可以修改名字?

控制檯窗口相信學過編程的同學都知道,但是你們知道該怎麼修改他的名字嗎? 如何修改那裏的名字呢?? 今天小編給大家帶來兩種修改控制檯名字的方法! 第一種 在包含頭文件:#include <Windows.h>的情況下,寫入該行代碼

原创 C/C++ 手寫“90坦克大戰遊戲”

今天給大家分享使用C語言配合easy-x圖形庫開發的一款控制檯桌面小遊戲。(IDE:請使用vs2010或者vs2019) 資源下載鏈接: 百度網盤 鏈接:https://pan.baidu.com/s/1KYtZDYwbR_X62

原创 《二十三種設計模式》 第二篇 “外觀模式” (C++實現)

定義:外觀模式定義了一個將子系統的一組接口集成在一起的高層接口,以提供一個一致的界面。通過這個界面,其它系統可以方便地調用子系統中的功能,而忽略子系統內部發生的變化。 使用場景: 爲一個比較複雜的子系統提供一個簡單的接口; 將客

原创 C/C++ 入門算法,“棧”的全面剖析

棧的原理精講 棧是一種線性結構,即線性排列。 好比如一條衚衕: 先進來的車子只能等後面進來的車子出去後,他才能出去,也就體現了棧的特性:“後進先出”! 棧也是一種線性表,只不過它是操作受限的線性表,只能在一端操作。 進出的一端稱

原创 C/C++入門算法 棧的企業級應用 《迷宮算法求解》

棧是一種特殊的算法,由於他的特性是“後進先出”,使得它特別適合用來求解迷宮! 我們以下面圖片的小迷宮爲例: 迷宮中的小人呆在迷宮的入口位置,他需要找到迷宮的出口,進而走去迷宮。迷宮對應的二維數組也在上圖中標明出來了。0表示牆,1

原创 C/C++ 入門核心算法:堆的企業級應用 之 堆實現優先隊列

觀看本系列博文提醒: 你將學會堆的原理 和 算法實現; 一個企業級應用:堆實現優先隊列; 還有堆排序; 最後還有一道檢測是否掌握堆算法的作業。 這已經是本系列博文的第二篇了,還沒看過第一篇博文:C/C++ 入門核心算法大局觀

原创 C/C++ 入門核心算法大局觀:堆

觀看本系列博文提醒: 你將學會堆的原理 和 算法實現; 一個企業級應用:堆實現優先隊列; 還有堆排序; 最後還有一道檢測是否掌握堆算法的作業。 堆的原理精講 堆是算法中一種特別的樹狀數據結構,堆是一棵完全二叉樹。但他又和

原创 《二十三種設計模式》 第一篇 “適配器模式” (C++實現)

適配器模式 適配器模式是很多企業在項目中都會用到的模式,他的獨特之處在於可以將兩個不兼容的接口完美的兼容到一起,執行出客戶端需要的結構。 把一個類的接口轉換成客戶端所期待的另一種接口,從而使原接口不匹配無法在一起工作的兩個類能

原创 C/C++ 入門核心算法大局觀:堆排序

觀看本系列博文提醒: 你將學會堆的原理 和 算法實現; 一個企業級應用:堆實現優先隊列; 還有堆排序; 最後還有一道檢測是否掌握堆算法的作業。 這已經是本系列博文的第三篇了,還沒看過第二篇博文:C/C++ 入門核心算法:堆的