Time of Update: 2018-12-06
B樹 即二叉搜尋樹: 1.所有非葉子結點至多擁有兩個兒子(Left和Right); 2.所有結點儲存一個關鍵字; 3.非葉子結點的左指標指向小於其關鍵字的子樹,右指標指向大於其關鍵字的子樹; 如: B樹的搜尋,從根結點開始,如果查詢的關鍵字與結點的關鍵字相等,那麼就命中;否則,如果查詢關鍵字比結點關鍵字小,就進入左兒子;如果比結點關鍵字大,就進入右兒子;如果左兒子或右兒子的指標為空白,則報告找不到相應的關鍵字;
Time of Update: 2018-12-06
模版的特化與偏特化 Partial Template Specialization能夠讓你在模板(Template)的所有可能的實體中特化出一組子集. 1.模板的特化(template specialization): 例如,定義如下的一個模板: template<class Window, class Controller> class Widget { ... 泛化實現代碼 ... }; 然後你可以像下面那樣明確地加以特化:
Time of Update: 2018-12-06
個人認為寫部落格(Blogging)是技術總結的最佳方式,甚至可以這樣子講,部落格就是積累,從一定角度上講是醬紫的。可能是受規範約束習慣了,感覺寫部落格也有一些注意事項,雖然之前寫了很多文章,但感覺都不是很規範,現總結寫部落格應該注意的幾點,以隨時提醒自己。1. Do not Repeat Documents, link to it
Time of Update: 2018-12-06
1.FLEX簡介 單詞的描述稱為模式(Lexical Pattern),模式一般用正規運算式進行精確描述。FLEX通過讀取一個有規定格式的文字檔,輸出一個如下所示的C語言來源程式。 +------------+ +------------+ +----------------+ | 輸入檔案*.l |------>|flex工具 |------>|輸出檔案lex.yy.c | +------------+ +-------
Time of Update: 2018-12-06
一.準備工作“工欲善其事必先利其器。”1.電腦不一定要配置高,但是雙屏是必須的,越大越好,能一個橫屏一個豎屏更好。一個用來查資料,一個用來寫代碼。總之要顯得資訊量很大,效率很高。2.椅子不一定要舒服,但是一定要可以半躺著。3.大量的便簽,各種的顏色的,用來記錄每天要完成的事務,多多益善。沿著電腦螢幕的邊框,盡量貼滿,顯出有很多事情的樣子。4.工具書,orelly的,機械工業,電子工業什麼的都可以,能英文就英文,不行影印版的也可以,反正越厚越好,而且千萬不要放在書架上,一定要堆在桌上,半開啟狀。二
Time of Update: 2018-12-06
有關placement new 作者: hzh5121.
Time of Update: 2018-12-06
看書的時候,一直看到" POD" 這個關鍵字,可能是我從來沒有好好把一本C++的書看完吧(還是眼睛自動忽略 orz),後來上網查了一下,在這邊分享一下好了..POD 是Plain Old Data的簡寫,是指一些系統的int, char, float、指標、array之類的資料型別,這應該蠻好想像的,就是C++ compiler提供的內建型別,比較特別的是類別與結構,如果類別和結構帶有trivial constructor,也是POD的一種class vector3D{ float
Time of Update: 2018-12-06
關於vtordisp知多少?我相信不少人看到這篇文章,多半是來自於對標題中“vtordisp”的好奇。其實這個關鍵詞也是來源於我最近查看物件模型的時候偶然發現的。我是一個喜歡深究問題根源的人(有點牛角尖吧),所以當我第一次發現vtordisp的時候,我也是很自然的把它輸進google尋找相關資料,但是結果令我不太滿意。不過,即使如此,我還是把與它相關的資料整理如下,並結合自己的理解和大家分享一下,希望能共同學習進步。首先從產生“vtordisp”問題的那個例子開始。class Base{publ
Time of Update: 2018-12-06
class templatepriority_queue<queue>Priority queuePriority queues are a type of container adaptors, specifically designed such that its first element is always the greatest of the elements it contains, according to some strict weak ordering
Time of Update: 2018-12-06
在從事Linux Kernel開發的過程中,user_app和kernel之間傳遞資料時不能使用memcpy()函數,必須使用copy_to/from_kernel或者是put/get_user。原因是kernel和user_app記憶體不能直接互訪。1. put_userNameput_user -- Write a simple value into user space.Synopsisput_user ( x, ptr);ArgumentsxValue to copy to
Time of Update: 2018-12-06
題目:設計一個高效演算法,求兩個等長為L的升序序列A和B的中位元。 例如:S1=(11,13,15,17,19) S2=(2,4,6,8,20) 則S1和S2的中位元是11。1)問題分析1: 簡單的演算法是將兩個升序序列歸併排序,然後求其中位元 演算法的時間複雜度和空間複雜度均為0(n) 2)問題分析2: 利用歸併排序的思想對A和B的元素逐個訪問,同時計數,當訪問到第L個元素時即為所求。
Time of Update: 2018-12-06
/proc/devices/下的裝置是驅動程式產生的,它可產生一個major供mknod作為參數。 /dev/下的裝置是通過mknod加上去的,使用者通過此裝置名稱來訪問驅動。The following script, scull_load, is part of the scull distribution. The user of a driver that is distributed in the form of a module can invoke such a script
Time of Update: 2018-12-06
#graph.h標頭檔 1 #ifndef GRAPH_H 2 #define GRAPH_H 3 4 struct adjNode{ 5 int node; 6 struct adjNode *next; 7 }; 8 9 10 /*圖的矩陣表示向鄰接表表示的轉換*/11 void matrixToAdjlist(int *matrix, adjNode *adjList, int n){12 int i, j;13 adjNode *tempNode;14
Time of Update: 2018-12-06
////////////////////////////////////////////////////////////////////// // // Compile options needed: /GX // // <filename> : Numeric.cpp // // Variables and Functions: // // has_denorm // has_denorm_loss // has_infinity // has_quiet_NaN //
Time of Update: 2018-12-06
一,返回單位為毫秒 #include<windows.h> DWORD dwStart = GetTickCount(); // 測試代碼 DWORD dwTime = GetTickCount() - dwStart; 二,返回時間為秒 #include<time.h> unsigned long start,stop; start=time(NULL);
Time of Update: 2018-12-06
atexit 函數名: atexit 標頭檔:#include<stdlib.h> 功 能: 註冊終止函數(即main執行結束後調用的函數) 用 法: int atexit(void (*func)(void)); 注意:按照ISO C的規定,一個進程可以登記多達32個函數,這些函數將由exit自動調用。atexit()註冊的函數類型應為不接受任何參數的void函數,exit調用這些註冊函數的順序與它們
Time of Update: 2018-12-06
char *p="abc"與char p[]="abc"的不同問題引入:在實習過程中發現了一個以前一直預設的錯誤,同樣char *c = "abc"和char c[]="abc",前者改變其內容程式是會崩潰的,而後者完全正確。程式示範:測試環境Devc++代碼#include <iostream>using namespace std;main(){ char *c1 = "abc"; char c2[] = "abc"; char *c3 = ( char*
Time of Update: 2018-12-06
筆者覺得這3個new有點意思,有時候我也被搞懵了,這些創造者難不成覺得C++過於簡單,所以搞一點含糊的術語出來。這次總結一下,以便再懵的時候有個參考。有錯的地方請不吝賜教,多謝先!簡單點吧:1. new operator,即熟悉的new操作符,用它從堆中分配一個對象,並且初始化。CHeapObject* p=new
Time of Update: 2018-12-06
開始公眾平台的開發,我們首先要瞭解平台可以協助我們做哪些事情?使用您的公眾帳號登陸http://mp.weixin.qq.com/,選擇菜單--進階功能-開發模式--查看文檔,即能看到公眾平台目前所能開發的功能。一、通訊機制 公眾平台的主要內容是 接受使用者發送給您公眾帳號的訊息 給您的使用者回複訊息
Time of Update: 2018-12-06
今天看《程式員面試寶典》一書(為了應付將要到來的微軟筆試),看到了sizeof(string)這個問題。在Dev C++上測試的結果是4,很不明白。上網搜了一下,得到如下結果:string strArr1[]={"Trend", "Micro",