原创 k-路歸併的算法

假設有k個已經排列好的序列A1 A2 ... Ak,現想要將它們歸併爲一個序列,如何歸併?設k個序列的元素總和爲n。 答:存在時間複雜度爲O(nlgk)的算法,具體如下:         1.從k各序列中各取出最小的一個元素組成序列B,由

原创 新blog開張了!!!

我申請這個blog的目的其實是自己的網絡記事本,每天自己學習編程的心得都會寫在這裏,歡迎大家猛拍磚~~  廢話少說,下面我從正在學習的算法導論開始記起。 點贊 收藏 分享 文章舉報

原创 C++ Template 基礎篇(一):函數模板詳解

這篇文章主要介紹了C++ Template函數模板,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨着小編來一起學習學習吧 Template所代表的泛型編程是C++

原创 C++ Primer閱讀心得(第十五章)

1.繼承:C++中的類通過繼承形成一種層次關係,處在上層的類被稱爲基類(base class),處在下層的類被稱爲派生類(derived class)。基類中定義在派生類中共用的代碼,提高代碼的複用度;派生類在繼承了基類代碼的基礎之上,定

原创 C++ Template 基礎篇(四):模板與友元

Template 基礎篇-模板與友元 Template所代表的泛型編程是C++語言中的重要的組成部分,我將通過幾篇blog對這半年以來的學習做一個系統的總結,本文是基礎篇的第四部分。 Template 基礎篇-模板與友元 類友元 普通

原创 C++ Primer閱讀心得(第十四章)

1.不能重載的操作符,包括:   : : (域操作符) .* (指針成員操作符)(這貨很少用到啊) .(點操作符)  ?: (問號表達式) 2.不建議重載的操作符,包括: 因爲無法保證求值順序,不應該重載:邏輯與&&、邏輯或||、逗號

原创 C++ Template 基礎篇(一):函數模板

Template 基礎篇-函數模板 Template所代表的泛型編程是C++語言中的重要的組成部分,我將通過幾篇blog對這半年以來的學習做一個系統的總結,本文是基礎篇的第一部分。 Template 基礎篇-函數模板 爲什麼要有泛型編

原创 C++ Template 基礎篇(二):類模板

Template 基礎篇-類模板 Template所代表的泛型編程是C++語言中的重要的組成部分,我將通過幾篇blog對這半年以來的學習做一個系統的總結,本文是基礎篇的第二部分。 Template 基礎篇-類模板 類模板定義 類模板

原创 C++ Primer閱讀心得(第十六章)

1.模板實例化:C++中的模板是一個函數或者類的藍圖,編寫了不侷限於類型的通用代碼。模板定義本身不參與編譯,而是編譯器根據模板的用戶使用模板時提供的類型參數生成代碼,再進行編譯,這一過程被稱爲模板實例化。用戶提供不同的類型參數,就會實例化

原创 C++ primer閱讀心得(第十三章)

1.類的複製控制(copy controll)包括: 拷貝構造函數拷貝賦值操作符析構函數移動構造函數移動賦值操作符這五個成員和構造函數一起控制着類對象的構造、複製、移動和回收。 2.拷貝構造函數:拷貝構造函數是構造函數的一種,它的參數是本

原创 C++ Primer閱讀心得(第十二章)

1.c++中使用的內存分爲三部分: 棧內存:用來保存函數內部的局部對象(非static),由編譯器自動創建和釋放堆內存:用來動態分配對象,由程序自行分配和釋放靜態內存:用來保存全局對象以及局部static對象,由編譯器自動創建和釋放2.

原创 C++ Primer閱讀心得(第六章)

1. C++語言使用調用操作符(一對括號)實現函數調用。調用操作符的操作數是函數名和參數列表,返回值是函數的返回值。(醍醐灌頂啊~~) 2. 函數調用時的行爲: 實參入棧:默認行爲是從右到左入棧現場保護:返回地址、當前函數的棧基址、各種寄

原创 C++ Primer閱讀心得(第三章)

1.在頭文件(*.h或者*.hpp)中不要使用using語句。因爲如果頭文件中使用了using語句後,每個include它的源文件中都默認包含了這個using,那麼可能會與這個源文件中的變量名或者其他的頭文件中的變量名產生衝突。 2.st

原创 C++ Template 基礎篇(三):參數魔法

Template 基礎篇-參數魔法 Template所代表的泛型編程是C++語言中的重要的組成部分,我將通過幾篇blog對這半年以來的學習做一個系統的總結,本文是基礎篇的第三部分。 Template 基礎篇-參數魔法 默認實參 模板的

原创 Google gflags使用說明

gflags是什麼: gflags是google的一個開源的處理命令行參數的庫,使用c++開發,具備python接口,可以替代getopt。 gflags使用起來比getopt方便,但是不支持參數的簡寫(例如getopt支持--list縮