原创 [Happy BASH] Assigns the file descriptor (fd) to file for output

File descriptors 0, 1 and 2 are reserved for stdin, stdout and stderr respectively. However, bash shell allows you to

原创 [Effective WX] wx中的反射機制:DANYMIC_CLASS的實現

wx利用兩個宏實現了幾乎所有以wx開頭的窗口類的反射機制: DECLARE_DYNAMIC_CLASS IMPLEMENT_DYNAMIC_CLASS 當一個類想借助於wx實現的dynamic_class的機制,必須得繼承於wxObj

原创 [Happy BASH] BASH的case語句學習

The case statement Syntax The syntax is as follows: case $variable-name in pattern1)

原创 [Happy BASH] BASH中麻煩的空格處理

想寫一個BASH腳本,LOOP某個目錄下所有的文件和子目錄,然而目錄下的文件或子目錄文件名字有些是包含空格的。BASH腳本處理時需要特別小心。 如果我們按照下面的方式來寫: for e in `ls` do echo "$e" d

原创 啓動我自己的系列文章

接觸C++的程序員都知道,我們有<Effective C++>系列,但是python好像並沒有這樣的系列文章或者書籍。但是我們在進行python編程時,常常遇到一個問題有好多種解決方案,我們該如何選擇其中一個比較好的,甚至最好的解決方案呢

原创 關於的筆記

重新閱讀<C專家編程>, 以下是一些筆記,覺得要重點掌握的。 1. 關於const的變量的賦值 foo(const char** p) { } main(int argc, char** argv) {     foo(argv);

原创 中的printf

<C陷阱與缺陷>中關於printf 1. 格式符 %g, %f, %e這3個格式項用於打印浮點值。%g格式項用於打印那些不需要按列對齊的浮點數特別有用。它在打印出對應的數值時,會去掉該數值尾綴的零,保留6位有效數字。 printf("

原创 [Happy BASH] BASH 編程學習點點滴滴

1. 用ECHO命令,但不想要它輸出行末的換行符,可以採用以下3種方法: a) printf "xxxx"   b) echo -n "xxxxx" c) echo -e "xxx\c" 注意:-e選項代表啓用ESCAPE字符,\c代表

原创 [Happy DSA] 圖像的contour trace算法C++實現

問題提出: 給定一個二維圖像,基於某個threshold,來提取contours。 在圖形圖像學中,這個問題有比較好的解決方案,google "coutour trace",可以得到以下2個比較好的參考文獻: 1. http://en.w

原创 boost::assign的用法淺析

在boost中看到這樣的代碼: #include <boost/assign/std/vector.hpp> // for 'operator+=()' #include <boost/assert.hpp>; using names

原创 [Happy DSA] 2個浮點數的最大公約數的算法小結

我們知道2個整數有最大公約數(GCD)和最小公倍數(LCM)的說法。而且最大公約數GCD有一個公認的歐拉算法GCD。它的算法如下: GCD(a, b) { return b ? GCD(b, a % b) : a; }有了GC

原创 [Happy DSA] 2D平面上n個點,求解最接近45度的2點連線

有這麼一個幾何問題:2d平面的n個點,怎麼求解連線最接近45度的那些點的組合。 1. 樸素方法: 我們能想到的最naitive的方法就是求解平面上所有2點連線的斜率,斜率的絕對值最接近於1的那些點的組合,就是我們想要的。要知道n個點能構

原创 [Happy Coding] 一段調用STL算法的程序代碼的效率分析

已知一個STD::SET,想要根據一個predicate來從中去除所有的滿足predicate(返回true)的元素。 我們首先想到的是STL提供的remove_if函數。 下面我們來看看這個函數是如何實現的: 1133   temp

原创 [Happy DSA] 求解最長迴文子字符串

題目:輸入一個字符串,輸出該字符串中對稱的子字符串的最大長度。 比如輸入字符串google,由於該字符串裏最長的對稱子字符串是goog,因此輸出4 關於這個問題,有一個比較好的線性時間複雜度的算法Manacher's ALGORITH

原创 [Happy BASH] BASH中的$*和$@的區別

首先來看一段BASH代碼: echo "\$@=" $@ echo "\"\$@\"=" "$@" echo "print each param from \$@" for var in $@ do echo $var