原创 C++操作符重載(++、=、

  C++有個關鍵字operator,具體怎麼用呢?到底什麼是操作符重載,上代碼分析。 #include <cstdlib> #include <iostream> using namespace std; class Operato

原创 很值得學習的Linux C++線程池框架

   本文給出了一個通用的線程池框架,該框架將與線程執行相關的任務進行了高層次的抽象,使之與具體的執行任務無關。另外該線程池具有動態伸縮性,它能根據

原创 lua學習總結

簡述 Lua是一個很小的編程語言,很多人將其與Python高級語言進行比較。 Lua有以下的特點: (1)純C語言實現,源碼小,可以很好地與C/C++融合。可自行編譯,生成靜態庫。 (2)語法簡單,靈活,易學。 我也同時學習了Pytho

原创 Lua基礎教程

運行 首先,我們需要知道,Lua是類C的,所以,他是大小寫字符敏感的。 下面是Lua的Hello World。注意:Lua腳本的語句的分號是可選的,這個和GO語言很類似。 <span style="font-size:18px;

原创 操作符重載的應用(數組類)

前面學習了操作符重載,現在我們來寫個例子測試下。 #include <cstdlib> #include <iostream> using namespace std; class Array { private: int

原创 C++操作符重載(++、=、<<、==、!=)

  C++有個關鍵字operator,具體怎麼用呢?到底什麼是操作符重載,上代碼分析。 #include <cstdlib> #include <iostream> using namespace std; class Operato

原创 數據結構之基礎排序(選擇排序、插入排序、冒泡排序)

  排序在代碼中用的非常普遍,所以今天我們來學下最基礎的三種排序, 如果你已經爛熟於心,請跳過本文。 注:我的代碼一般沒有註釋,我覺得沒啥必要,都是基礎挺簡單的。 #include <stdio.h> #include <stdlib.

原创 中國黑客傳說:遊走在黑暗中的精靈

他是我所認識的最強大的地下黑客之一,在本文中我姑且稱他爲V。 之所以是之一,是因爲我還認識另外一個叫A的黑客,A宣稱自己成功入侵了包括Google、Facebook、Twitter等你幾乎能叫得上名字的所有大型互聯網公司。

原创 數據結構之雙向鏈表

前面我們學習了單向鏈表,並且把單向鏈表改成了循環鏈表,但是操作單向鏈表在往後訪問的時候速度是很快, 如果你要往前訪問操作就比較繁瑣,所以這課我們來學習下雙向鏈表。我們把前面的循環鏈表拿過來直接改成雙向的。 第五個例子,雙向循環鏈表: 頭

原创 C++設計模式之單例模式

  在遊戲開發過程中,我們時常會遇到單例模式的運用場景。比如你遊戲當中的最終BOSS,你希望你的BOSS只能有一個,所以這裏你就可以用單例模式;那麼什麼是單例模式呢?看下面的代碼分析。 #include <cstdlib> #includ

原创 數據結構之順序棧

前面我們學習了順序鏈表,我們可能會覺得順序鏈表有啥用呢?基本都是要被淘汰了用法。 呵呵,俗話說:存在的即是合理的。下面我來炫炫它的用法,請睜大你的眼睛,下面是見證奇蹟的時刻。 第六個例子,順序棧的實現: 頭文件要包含兩部分,一個是我們先前

原创 數據結構之進階排序(希爾排序、快速排序、歸併排序)

我們學習了最基礎的三種排序,它們都有個共同點,就是時間複雜度都是O(n^2), 在long long ago,科學家們以爲排序時間複雜度已經到了極限了,不可能存在低於O(n^2) 的排序,但是呢!有個傢伙叫希爾的。。。。。(此處略去1W字

原创 數據結構之隊列(炫技篇)

我們已經實現了順序隊列和鏈式隊列,並且也做了優化, 那這篇文章到底是幹嘛呢!!簡單四個字,代碼複用!!! 注:這裏我們要包含鏈式鏈表和鏈式棧的頭文件和實現文件,具體代碼前幾篇文章裏面找。 第十二個例子,代碼複用隊列的實現: 頭文

原创 數據結構之順序隊列(優化版)

上一篇文章我說了順序隊列的不足之處是常用的Append操作時間複雜度是O(n), 所以我們下面就把它優化成O(1),閒話少說直接上代碼。   第九個例子,順序隊列優化版的實現: 頭文件 #ifndef _SEQQUEUE_H_ #de

原创 數據結構之靜態鏈表

學習數據結構已經很久了,一直沒有用上,最近時間有點空閒,所以翻出來炒一炒。子曰:溫故而知新。當初學習數據結構的時候,買的是國嵌唐老師的視頻,所以這些代碼很唐老師寫的幾乎一模一樣,若轉載請註明出自國嵌唐老師數據結構教程。 首先來看第三個