原创 KMP算法理解

KMP算法的關鍵之處在於next數組的理解! 假設t爲目標,p爲模式。j爲t中下標,i爲p中下標。 先從樸素模式匹配算法理解下或許會好些: 當模式串中的p[i]與目標串中的t[j]不等時,需要把目標中的指針回朔到j-i+1處重新用t[j-

原创 16位代碼段和32位代碼段的區別

   關於16位和32位 :涉及到寄存器的位數和段的位數。 寄存器的位數就是:8086下CPU的寄存器位數是16位的;80386下CPU的寄存器位數是32位的。 使用.8086僞指令將彙編語言編譯成8086的指令;(默認) 使用.386p

原创 volatile的用法

volatile 影響編譯器編譯的結果,指出,volatile 變量是隨時可能發生變化的,與volatile變量有關的運算,不要進行編譯優化,以免出錯,(VC++ 在產生release版可執行碼時會進行編譯優化,加volatile關鍵字的

原创 C++局部類和嵌套類

局部類 在一個函數體內定義的類稱爲局部類。局部類中只能使用它的外圍作用域中的對象和函數進行聯繫,因爲外圍作用域中的變量與該局部類的對象無關。在定義局部類時需要注意:局部類中不能說明靜態成員函數,並且所有成員函數都必須定義在類體內。在實踐中

原创 mfc中句柄與指針的區別

所謂句柄實際上是一個數據,是一個Long (整長型)的數據。 句柄是WONDOWS用來標識被應用程序所建立或使用的對象的唯一整數,WINDOWS使用各種各樣的句柄標識諸如應用程序實例,窗口,控制,位圖,G

原创 DPtoLP的符號問題

DPtoLP函數轉換座標後不改變其符號。 所以在用y值向下遞減的模式繪圖時要注意,假設取得了設備座標sizemount(其x和y座標肯定都爲正),再通過 pDC->DPtoLP(&sizemount);將其轉換成邏輯座標後直接用來繪圖會出

原创 DDX_TEXT怎麼實現數據從控件到變量還是從變量到控件

關鍵之處在於DDX_TEXT的第一個參數CDataExchange CDataExchange::CDataExchange msdn: This method constructs a CDataExchange object. C

原创 麪包店算法理解

boolean  choosing[n];表示進程是否在取號 int  number[n];記錄每個進程取到的號碼 這些數據結構分別初始化爲false和0,爲了方便,定義如下符號: 若a<c或a==c和b<d同時成立,(a,b)<(c,d

原创 【操作系統概念】一書中4.6題進程同步算法的解答

先理解下緩衝區中最多同時有BUFFER_SIZE-1個項的方案:感覺這個方案的算法挺經典的!! #define BUFFER_SIZE 10 typedf struct{ ... }item; item buffer[BUFFER_SIZ