原创 二叉堆的構建、插入、刪除等操作

完全二叉樹 若設二叉樹的深度爲h,除第h層外,其它各層 (1 ~ h-1) 的結點數都達到最大個數,第h層的所有節點都集中在左邊的若干位置,這就是完全二叉樹 二叉樹和二叉堆 二叉樹一般採用鏈表的形式實現 二叉堆一般採用數組

原创 垃圾回收 GC

文章目錄垃圾回收(Garbage Collection,縮寫爲GC)收集器實現引用計數收集器跟蹤收集器。回收算法1:標記-清除2:標記-壓縮3:複製4:增量回收器5:分代 垃圾回收(Garbage Collection,縮寫爲GC

原创 c++ 指針常量、常量指針、函數指針等詳解

文章目錄指針指向數組的指針常量指針指針常量指向類的指針函數指針指向重載函數的指針 指針 (1)指針本身就是個對象,允許對指針賦值和拷貝。生命週期內它可以先後指向幾個不同的對象。 (2)指針無需在定義時賦初值。和其他內置類型一樣,

原创 C++ 數組、數組指針、指針數組、動態數組等詳解

文章目錄數組基礎概念數組的列表初始化數組的賦值和拷貝?×數組的維度字符數組複雜數組的解讀數組和指針數組的遍歷多維數組動態數組 數組基礎概念 (1)數組大小固定。 (2)存放類型相同的對象的容器。定義數組的時候必須指定數組的類型,

原创 Lua基礎 +Lua源碼詳解

創建對象:創建對象是爲類的實例分配內存的過程。每個類都有屬於自己的內存並共享公共數據。 訪問屬性:我們可以使用點號(.)來訪問類的屬性 訪問成員函數:我們可以使用冒號 : 來訪問類的成員函數 --基類 Shape = {area

原创 c++ 虛函數多態、純虛函數、虛函數表指針、虛基類表指針詳解

文章目錄靜態多態、動態多態虛函數哪些函數類型不可以被定義成虛函數?虛函數的訪問方式析構函數中的虛函數虛函數表指針 vptr多繼承下的虛函數表虛基類表指針 bptr純虛函數抽象類虛函數和純虛函數的比較 靜態多態、動態多態 靜態多態

原创 expect 基礎語法學習 及 簡單使用

expect 我們可以理解爲一個可以提供自動化交互的工具,無需人的干預。 expect需要TCL變成語言的支持。 基本語法 for循環 格式: for 空格 { 設置變量初始值 } 空格 { 條件判斷 } 空格 {設置增量

原创 C 和 C++ 關於 const 的比較

C 語言中 const 修飾符: const 修飾的變量不是真正意義上的常量,而是一個常變量 無法直接修改,但是可以間接修改變量的值。會分配內存空間,因此可以通過指向其地址空間的指針去修改其內容。 const int b

原创 遊戲設計 MMORPG類九宮格視野

文章目錄背景玩家視野設計背景地圖地圖劃分格子座標點定位玩家所在地圖塊視野塊地圖、視野塊、玩家的關係玩家視野玩家九宮格視野玩家移動引起視野刷新的可能情況優先級篩選視野規則 背景 玩家視野設計背景       AOI(Area of

原创 redis 配置文件

redis.conf配置重要字段詳解 1、redis的日誌級別: redis的日誌級別分爲debug、verbose、notice、waining。在redis.conf中通過loglevel來配置redis的日誌等級。只記錄le

原创 struct 結構體 所佔字節數的計算

定義結構體類型,只能說明該類型的組成情況,並沒有分配內存空間。只有當定義屬於結構體類型的變量時,系統纔會分配空間給該變量。 結構體中不允許對結構體本身的遞歸定義,但是可以使用指針指向本類型 結構體變量可以在定義時進行初始化賦值 對

原创 strcpy和memcpy的區別

(1)複製內容不同 strcpy 只能複製字符串,除了複製字符串內容外,還會複製字符串的結束符 memcpy 可以複製任意內容,例如字符數組、整型、結構體、類等。 (2)複製的方法不同 strcpy 不需要指定長度,遇到被複制字符

原创 c++ 預處理

預處理:編譯之前的處理。 預處理主要的3個方面內容: (1)宏定義和宏替換 (2)文件包含 (3)條件編譯 宏 宏替換的本質------文本替換 (1)宏名一般大寫,宏名和參數的空格間不能有空格,宏定義末尾不加分號。如: #defi

原创 Linux sort用法

首先編寫個測試文件,內容如下: danni@vm-xxx-18:/home/danni/study/shell $ cat a.txt 23 12 23 12 33 44 11 22 33 44

原创 tmux的使用

(1)首先進入tmux:tmux (2)創建指定名字的tmux會話,比如此處創建的名字danni:tmux new -s danni (1)進入上帝模式: ctrl + b (2)調換窗口:首先進入上帝模式,然後 ctrl + o