原创 operator new和new operator的比較

C++中的operator new與new operator,看上去挺像的兩姐妹,卻有天壤之別。 operator new (1)       只分配所要求的空間,不調用相關對象的構造函數。當無法滿足所要求分配的空間時,則       

原创 單例模式(singleton pattern)的幾種實現

     單例模式是設計模式中最簡單的形式之一。這一模式的目的是使得類的一個對象成爲系統中的唯一實例。本文展示c++語言中單例模式的幾種實現方式及細節處理。 第一種:使用靜態成員實例。 #include <iostream> using

原创 代理模式&java動態代理

       所謂代理模式是指:爲其他對象提供一種代理以控制對這個對象的訪問。可以簡單的理解爲,一個類要做某個事,這個類可以把做這個事的權限交予其他類,其他類就成爲了這個類的代理者。比如總經理可以安排自己的日程,也可以把這個任務委託給祕書

原创 builder和abstract factory模式的區別

“嘿,Andy,來幫幫忙,幫我裝裝機子吧。”,Helen又在那喳喳呼呼了。 “好的,好的,喔……,新機誒!”,走過去一看,AndyTao眼一亮。唉,看到人家的新配置,他就有一種據爲己有的衝動。說實在的,咱

原创 判斷三角形與點的關係的一種實現

在二維座標系中,對三角形ABC和某一點P,設A(x1,y1)、B(x2,y2)、C(x3,y3)、P(x,y),如果向量AB×AP、BC×BP、CA×CP指向同一方向,則說明P點在三角形內部。#inclu

原创 區間求並集c++實現

RT.給定若干區間求其並集實現。 #include <iostream> #define NULL 0 using namespace std; struct section//每個小區間 { double start;

原创 設計模式中迷宮的實現,用於學習創建型模式

    設計模式一書相信不少人看過。其中創建型模式一節通過一個創建迷宮的例子闡述了工廠模式、抽象工廠模式等創建型模式。對於初學者而言,書中講解並未實現具體代碼,對於幾種設計模式的優勢不能深刻的體會。出於學習的目的我實現了這個迷宮,並且儘量

原创 編輯距離問題c語言實現

所謂編輯距離是指一個字符串轉化成另外一個字符串所需要的最少編輯次數。 允許的編輯方式包括:     1)增加一個字符     2)刪除一個字符     3)用一個字符替換原來的字符 解決的方法當然是動歸了。首先研究子問題,假設兩字符串A,

原创 線性表的順序方式實現(c語言)

簡單的線性表實現。 相對於鏈式實現,順序方式插入或刪除元素都會導致後面元素的移動,這是它的劣勢。而優勢則是對於某一位置的元素可以直接存取。 #include <stdio.h> #include <malloc.h> #define N

原创 hdu2222及易錯數據(AC自動機)

RT. #include <iostream> #include <stdarg.h> using namespace std; const int kind=26; struct node{ node* fail; node

原创 KMP算法c實現

   講解詳見matrix67大神博客,直接上代碼了。#include <stdio.h> #include <string.h> int next[100]; int pre_processing(char* s) { ne

原创 leetcode: Find Minimum in Rotated Sorted Array

假設數組0,1,2,3,4 則其旋轉之後可能是 4,0,1,2,3 3,4,0,1,2 2,3,4,0,1 1,2,3,4,0 0,1,2,3,4 觀察可得對於(low+high)/2的位置的數組元素,如果其大於high則最小值必在其右邊

原创 WPF image控件前後臺設定對比

WPF程序有些時候需要在後臺動態增加一些控件,這個時候設置控件的屬性並不像在xaml中設置那樣直觀,下面舉一個image控件前後臺對應的例子。 前臺: <Canvas x:Name="canvasTouchPanel"> <Border

原创 快排、歸併排序、堆排序的實現

#include <iostream> using namespace std; //quick_sort void quick(int *a,int start,int end) { if (start>=end) return

原创 動態規劃之滑雪問題c++實現

問題描述:       Michael喜歡滑雪百這並不奇怪, 因爲滑雪的確很刺激。可是爲了獲得速度,滑的區域必須向下傾斜,而且當你滑到坡底,你不得不再次走上坡或者等待升降機來載你。Michael想知道在一個區域中最長底滑坡。區域由一個