原创 STL之list簡要實現

(1)內存模型及實現接口   (2) 源代碼及簡要註釋 sort性能比較低,對100萬條隨機數據排序要140秒左右,原版list的sort算法僅要1.4秒 #ifndef TINY_LIST #include <memory>

原创 STL之deque簡要實現

(1)內存模型及實現接口     (2)源代碼及簡要註釋 push_back、pop_back、push_front、pop_front性能和原版deque相當,insert性能慢1倍 #ifndef TINY_DEQUE #in

原创 STL之vector的簡要實現

(1)內存模型及所實現的操作 (2)源代碼,附簡要註釋 #ifndef TINY_VECTOR #include <memory> namespace tiny_stl { template <typename T, ty

原创 論文閱讀—— Practical Memory Leak Detection using Guarded Value-Flow Analysis(2007)

按照文章提出的算法,此論文作者研製了靜態分析工具fastcheck,項目鏈接附上 fastcheck 摘要 此文提出了一種用於發現C程序中的內存泄露的過程間分析(inter-procedural analysis)算法,將內存泄露分析歸約

原创 《linux高性能服務器編程》—— 一種基於共享內存的多進程聊天室服務器的實現

(1)程序框架 (2)源代碼及註釋 #include <sys/types.h> #include <sys/socket.h> #include <netinet/in.h> #include <arpa/inet.h> #incl

原创 C++語法系列——理解lambda表達式

目錄   (1)什麼是lambda表達式? (2)捕獲列表有何用處? (3)值捕獲?引用捕獲?隱式捕獲?顯式捕獲?——捕獲方式的幾種概念 (4)lambda表達式本質上是什麼? (5)其他注意事項? (1)什麼是lambda表達式? 形式

原创 C++語法系列——類的五大拷貝控制成員:拷貝/移動構造函數,拷貝/移動賦值運算符,析構函數

目錄   (1)都長什麼樣?有何用處? (2)何時會被用到? (1)都長什麼樣?有何用處? a. 拷貝構造函數,要求第一個形參是類類型的(const)左值引用,若有其他形參(通常沒有),則必須有默認值。形式如下: class A { p

原创 C++語法系列——解引用和自增運算符的易混淆用法,如*p++,*++p,++*p

(1)指針、解引用、自增混合使用的情況僅有*p++,*++p,++*p這三種嗎? 此問題可用排列知識解答。指針、解引用和自增這三種元素的排列方式共有種,但由於解引用必須位於指針之前,因此種類數減半。 (2)如何弄清它們的運算過程? 先要弄

原创 C++語法系列——構造函數的頭部修飾符explicit

(1)先聲明用處:防止僅帶一個形參的構造函數被用於隱式類類型轉換 (2)隱式類類型轉換?以類A舉例說明什麼是隱式類類型轉換及其本質 class A { public: int age; string name; publ

原创 LaTex 表格序號爲奇數的解決辦法

 該問題通常是table中嵌套了longtable造成的。  調用longtable時無論有沒有使用\caption命令,表格計數器都會加1。 \begin{table}[H] \caption{標題1} \begin{longtabl

原创 浙大陳姥姥《數據結構》課後作業——10-排序5 PAT Judge(25 分)

一、題目The ranklist of PAT is generated from the status list, which shows the scores of the submissions. This time you are

原创 PAT (Advanced Level) Practice——1012 The Best Rank (25)(25 分)

一、題目To evaluate the performance of our first year CS majored students, we consider their grades of three courses only:

原创 《算法競賽入門經典第2版》——習題2-6 排列(permutation)

一、題目 用1,2,3,...,9組成3個三位數abc,def和ghi,每個數字恰好使用一次,要求abc:def:ghi=1:2:3。按照“abc def ghi”的格式輸出所有解,每行一個解。二、算法思想 問題關鍵在於要找出1-9這9個

原创 PAT (Advanced Level) Practice——1023 Have Fun with Numbers (20)

一、題目Notice that the number 123456789 is a 9-digit number consisting exactly the numbers from 1 to 9, with no duplicatio

原创 PAT (Advanced Level) Practice——1016 Phone Bills (25)(25 分)

一、題目A long-distance telephone company charges its customers by the following rules:Making a long-distance call costs a