博客首页
注册
建议与交流
排行榜
加入友情链接
推荐
投诉
搜索:
帮助
阿飛blog
gangjh.cublog.cn
管理博客
发表文章
留言
收藏夹
· linux
· oracle
博客圈
音乐
相册
· 寶寶
文章
· General
· 學習心得
· Linux
· Oracle
· 寶寶日記
首页
关于作者
姓名:阿飛 职业:DBA (Linux) 年龄:28 位置:廣東東莞 个性介绍:
||
<<
>>
||
我的分类
文章列表 - 學習心得
[算法]馬踏棋盤貪婪算法實現
馬踏棋盤問題:<br> 將中國象棋的馬放入8x8的棋盤中, 如何不重入的跳遍棋盤的每一格.<br><br>分析: <br>俗話說, 馬踩八方. 馬在每一點最多有8中走法.<br>下一步將跳到哪一點可用一個數組來表示 pos[8], 數據定義如下.<br>struct horse_way<br>{<br> struct {<br> int x;<br> int y;<br> } pos[8] ;<br> int size ; /*共有多少中走法*/<br> int idx ; /*目前選擇 , 如果死路, idx……
查看全文
发表于:2007-12-18 ┆
阅读(307)
┆
评论(0)
八皇後問題解法
八皇後問題是一個比較有意思的問題.<br>在一個8x8的棋盤上,如何擺放8個祺子才能使皇後無法相互攻擊.<br>每一行,每一列,每一條斜線都只能有一個皇後.<br>列出所有的擺法<br><br>有一個比較簡單的方法是<br>將每一個皇後編上號1,2,3,4,5,6,7,8, 然後列出這8個數的全排列,<br>可以得到每行,每列都只有一個後的擺法,再替除斜率等於1的輸出.<br>如何輸出全排列,有好幾種算法, 可以用google搜索找到答案<br><br>char data[8] ;<br>data[n] 存放第n個棋子擺放在第一排的位置 . n< 8, data[n] <8<……
查看全文
发表于:2007-12-13 ┆
阅读(309)
┆
评论(0)
如何枚舉長度為n的所有字符組合
<br>如何枚舉長度為n的所有字符組合<br>-------------------------------------------------------------- <br>可用來生成密碼字典,純做技術研究<br><br>1. 對於一個長度為n的密碼字串來說,每一位都有0-255種選擇.<br>可用一個狀態表來表示<br>char[n], n={0,1,2,3,......}<br>那麼一共有 255*255*255*255*...種狀態,<br>全部列出是一個天文數字.……
查看全文
发表于:2007-11-21 ┆
阅读(260)
┆
评论(0)
symbol table符號表使用
<br>在學習lex, yacc過程中,經常需要使用到符號表,用來存儲,訪問數據.<br>比較快捷的方法該是hash 表, <br>用數組也是可行的, 比較難以處理的是如何存儲名字,值.<br>不想多次使用malloc申請內存,構思了這樣一個方法.<br>先malloc一塊大內存, 然後自己管理內存,最後一次釋放.<br>核心就是使用sym_sbrk 實現自己的malloc函數.<br><br>void *sym_sbrk(struct sym_table_entry *s, int increment)<br><br><br>DEBUG_DUMP 是comm.h中的一個宏定義<br>#ifdef NODEBUG<br>#define DEBUG_DUMP(...)<br>#else<br>#define DEBUG_DUMP ……
查看全文
发表于:2007-09-17 ┆
阅读(403)
┆
评论(0)
Regex學習日記:計數用法,記憶功能.或運算等
<DIV> <P>Regex學習日記</P> <P>第二章:<BR>計數用法,記憶功能.或運算<BR>-------------------------------------------------------------------------</P> <P>1 .定位:<BR>某符號具有 「定位」 功能, 但本身不吃掉任何字元的 :<BR>^... 以 ... 開頭的字串<BR>...$ 以 ... 結尾的字串<BR>\b 文數字/非文數字 的邊界。 </P> <P>/^Hello$/ :這句是表示字串是Hello,H為第一個字母,o為最後一個字母.<BR>/\bOrder\b/ :表示字串包含Order這個單詞,但是Orders會忽略.</P> <P>2. 現在我們來回顧前一章的最後的問題, 寫出日期的正則表達式, 日……
查看全文
发表于:2007-03-09 ┆
阅读(524)
┆
评论(0)
Regex學習日記,基礎篇
<DIV> <P>Regex學習日記</P> <P>第一章:<BR>Regex 基礎.</P> <P>-------------------------------------------------------------------------</P> <P>正則表達式的歷史<BR>regex : 稱為正則表達式 ,又稱為字串模板<BR> 正則表達式的“祖先”可以一直上溯至對人類神經系統如何工作的早期研究。Warren McCulloch<BR>和 Walter Pitts 這兩位神經生理學家研究出一种數學方式來描述這些神經网絡。</P> <P> 1956 年, 一位叫 Stephen Kleene 的數學家在 McCulloch 和 Pitts 早期工作的基礎上,發表了<BR>一篇標題為“神經网事件的表示……
查看全文
发表于:2007-03-09 ┆
阅读(397)
┆
评论(0)
Regex學習日記:在Java Script中使用Regex
<DIV> <P>Regex學習日記</P> <P>第三章:<BR>在Java Script中使用Regex<BR>-------------------------------------------------------------------------</P> <P>Regex在不同的語言中支持的程度是不一樣的,寫法的細節方面也會稍微差別.<BR>但是其處理方式只是大同小異 .</P> <P>本章在java Script 中實用Regex</P> <P>第一部份:<BR>String Search方法:<BR>描述<BR>傳回通用(regular)運算式搜尋中第一個子字串符合的位置。<BR>語法<BR>stringObj.search(rgexp)<BR>search 方法的語法具有下列幾個部分: </P> <P>部分 描述<BR>stringOb……
查看全文
发表于:2007-03-09 ┆
阅读(463)
┆
评论(0)
c 語言hash table其實並不復雜
<DIV>寫了個小小的c語言hash table實現,用單鏈表處理沖突.</DIV> <DIV>lh_strhash 函數是從網上copy的, 已記不清來源了.</DIV> <DIV> </DIV> <DIV>hash.h</DIV> <DIV>/*<BR> * Write :Gan Jian Hui<BR> * Date : 2006/07/18<BR> * Description : hash table manager <BR> *<BR> * <BR>*/</DIV> <DIV>#ifndef _LINUX_GHASH_H_<BR>#define _LINUX_GHASH_H_</DIV> <DIV>#include <string.h><BR>/*#include <stdlib.h> */</DIV> <DIV><BR>#ifndef __USE_ISOC99<BR>#define inline<BR>#endif……
查看全文
发表于:2006-12-05 ┆
阅读(849)
┆
评论(0)
HTML標籤解析程序
做了個用c語言分析HTML標籤的簡單程序.<br>設計思路是這樣的.<br>1. 標籤起始終止查找方法: <br> int foundtag(const char *str, int *start, int *end) ;<br> 傳入一字串, 尋找第一個 "<"為開始, 下一個 ">"為結束,, 正確則返回 0, <br> 如為"<!--"注釋則找下一個"-->"<br> <br>2. 處理整個文件.<br> 讀入定長字串到buffer, <br> 上次處理end 之後的字串+ 本次讀入字串一起做為參數 由foundtag處理<br> &nb……
查看全文
发表于:2006-11-23 ┆
阅读(676)
┆
评论(4)
echo 輸出彩色文字學習
以前在shell版區copy了段高手的代碼,顯示時間, <br>昨天拿來研究了會,改成function,以增強可閱讀性<br><br>#!/bin/bash<br>posx=$(stty size|cut -d' ' -f2)<br>posy=$(stty size|cut -d' ' -f1)<br><br># Foregrand color<br>fblack=30<br>fred=31<br>fgreen=32<br>fyellow=33<br>fblue=34<br><br>fcyan=36 #青色<br>fwhite=37<br><br><br># Background color<br>bblack=40<br>bred=41……
查看全文
发表于:2006-11-23 ┆
阅读(482)
┆
评论(0)
為PB系統設計自動更新API
<DIV>看同事為PB系統自動更新傷神, 就隨手用C寫了段代碼,用gcc編成dll給他使用.</DIV> <DIV>設計思路是這樣的.</DIV> <DIV>系統pbd--->Web 網站-----> Client電腦.</DIV> <DIV>1 .將所有要更新的文件用md5sum計算效驗碼,存成md5sum.txt</DIV> <DIV> 格式就是這樣.</DIV> <DIV>2fb9760fcd9cf16b8bf85d2715ae5dd1 *aa.pbd<BR>5a831d59d011d016cdc1adc490f4a042 *bb.pbd<BR>94456f2adb3494e8ca3739b601c7d151 *bmp\log.gif</DIV> <DIV>2. 將這些文件復制到web site,的某個目錄,許可web訪問,限制list 權限.</DIV> <DI……
查看全文
发表于:2006-11-20 ┆
阅读(540)
┆
评论(0)
lex 学习,清除c,c++风格注释内容
编译 <br>lex commen.h<br>gcc -o commen commen.c -ll<br><br><br> 代码 <br>/*Date : 2006/11/12<br> *Write : Gan Jian Hui<br> */<br>%{<br>#include <string.h><br>%}<br><br>%s comment<br>%option outfile="comment.c"<br>%option yylineno<br><br><br>%%<br>\/\/.*$ {}<br><br>\/\* { BEGIN(comment) ; }<br><br><comment>\*\/ { BEGIN(INITIAL); }<br><comment>\n { }<br><comment>. { }<br><br>%%<br><br>
查看全文
发表于:2006-11-12 ┆
阅读(1076)
┆
评论(0)
lex學習,取得網頁中所有URL
用lex抓出網頁中所有的url,原來可以很簡單,<br><br><br>/*Date : 2006/11/10<br> *Write : 阿飛<br> *Description : get url from html file<br> */<br>%{<br><br>#include <math.h><br>#include <string.h><br>char *tmp ;<br>%}<br><br>%s url<br><br>%%<br><br>\n {}<br><br><br>\<a {<br> yymore() ;<br> BEGIN(url) ;<br>}<br><br><url>[^>]* { yymore() ;<br>}<br><br><br>&……
查看全文
发表于:2006-11-10 ┆
阅读(356)
┆
评论(0)
一個簡單的tcp代理程序
公司的上網代理有限定ip, 為了廣大苦難朋友的利益,自己又偷偷架了台proxy做為數據轉發,後來自學C語言,心想,何不自己做一個簡單的.如是就有了下面的東西. <BR>所有原代碼如附檔. 發上來 之前稍有整理. <BR>功能很簡單,<BR>接收客戶端tcp包,直接轉發到 代理服務器,<BR>然後將代理服務器的tcp數據包發給客戶端. <BR>核心就是select函數的使用. <BR>試用過些日子,感覺性能還可以.<BR><BR><BR>在Linux和Windows平台下可用gcc編譯.貼上部份代碼,以博一笑.<BR> <TABLE style="BORDER-COLLAPSE: collapse" borderColor=#dddddd cel……
查看全文
发表于:2006-09-29 ┆
阅读(540)
┆
评论(0)