Time of Update: 2018-12-06
假設這有一個各種字母組成的字串,假設這還有另外一個字串,而且這個字串裡的字母數相對少一些。從演算法是講,什麼方法能最快的查出所有小字串裡的字母在大字串裡都有?解答:(1)把其中的每個字母都放入一個Hashtable裡(成本是O(n)或16次操作)。然後輪詢第二個字串,在Hashtable裡查詢每個字母,看能否找到。如果找不到,說明沒有匹配成功。(2) 假設我們有一個一定個數的字母組成字串 ——
Time of Update: 2018-12-06
今天上網發現了vi一個比較好用的功能:可以比較兩個相似的檔案. 就是使用vimdiff命令.vimdiff是一個不錯的文本比較和合并的小工具,會以不同顏色顯示文本的增刪情況便於合并;習慣了vim的童鞋用起來會很順手。需要注意的一點是:首先保證系統中的diff命令是可用的。Vim的diff模式是依賴於diff命令的。啟動vimdiff方法一:# vimdiff FILE_LEFT FILE_RIGHT方法二:# vim -d FILE_LEFT FILE_RIGHT方法三:# vim
Time of Update: 2018-12-06
今天發現了一個比較好玩的firefox外掛程式vimperator這個外掛程式可以讓你類似使用vi的方式來使用firefox. 這對於使用linux的人來說非常的方便.作為小菜鳥, 我也來玩一玩這個東西.vimperator的基本的操作如下, 網上很多這個方法的材料: 1. Hint模式 (Vimperator hint
Time of Update: 2018-12-06
線性同餘隨機數產生器介紹:古老的LCG(linear congruential generator)代表了最好最樸素的偽隨機數產生器演算法。主要原因是容易理解,容易實現,而且速度快。 LCG
Time of Update: 2018-12-06
今天想在64位系統上運行一些代碼,看和32位系統有什麼差別。然後準備在虛擬機器中安裝一個64位的Fedora系統,但是開始之後卻提 示:this kernel requires an x84-84cpu,but only detected an i686 cpu. unable to boot please use a kernel appropriate for your cpu.然後我就懷疑是我的i3處理器不支援64位系統,在網上查了一下,發現:i7 i5
Time of Update: 2018-12-06
最近一直在使用dropbox在實驗室電腦和筆記本之間進行檔案的同步。但是有些檔案,比如bash的設定檔位於~/目錄下,同步起來不方便,並且,為了以後重裝系統的方便,我是將一些類似bashrc和vimrc的設定檔進行備份,統一存放的。然後將這些檔案放入到dropbox中進行同步。但是,有時,比如突然想為一些經常用到的命令進行重新命名,這個時候就要在.bashrc檔案中添加alias語句的。改完.bashrc檔案之後還要修改備份的檔案,特別不方便。這兩天在整理硬碟檔案的時候,突然發現將~/目錄下的.
Time of Update: 2018-12-06
在C和C++中是不同的,我們知道C語言比較寬鬆、靈活,而C++的目標就是改變C語言比較寬鬆的特點,實行了比較嚴格的做法,包括嚴格的類型檢查等等。實際上,在C語言中,main函數可被遞迴調用,而在C++標準中,main函數不可以被遞迴調用。C中遞迴調用:
Time of Update: 2018-12-06
我的筆記本是thinkpad e40,內建的是ATI的顯卡。現在我安裝的是fedora14 作業系統。大家都知道在linux播放視頻一般都要安裝mplayer,對,我也安裝了mplayer。但是,在平時播放視頻時,我發現mplayer在命令列中經常報一個錯誤,說,缺少一個lib檔案,我上網查了查,發現這是NVIDIA顯卡需要的 一個檔案。但是我不是nvidia顯卡阿,然後我就去網上搜尋了一下,發現需要安裝這個軟體包nvidia-graphics185.18.31- libs-185.18.31-
Time of Update: 2018-12-06
這本書是專門講解sed與awk的用法,講得很詳細,挺好的。第2章 瞭解基本操作1. awk與sed2. sed與ed的差別sed是隱式是全域命令,而ed只是影響到當前行注意:理解ed中的當前行定址與sed中全域行定址之間的區別是很重要的。在ed中,使用定址擴大受命令列影響的行數;在sed中,使用定址限制受命令列影響的行數3. awk簡介4. sed與awk命令列文法5.
Time of Update: 2018-12-06
在看《你必須知道的496個C語言問題》一書中,提到"達夫裝置"這個東西,主要是下面的代碼: register n = (count + 7) / 8; /\* count > 0 assumed \*/ switch (count % 8) { case 0: do { \*to = \*from++; case 7: \*to = \*from++; case 6: \*to = \*from++; case 5:
Time of Update: 2018-12-06
今天看別人寫的程式, 有一點不是很明白, 就是在mfc的程式中利用CFile在寫檔案時是怎麼區別二進位檔案和文字檔的.首先說一下二進位檔案和文字檔的區別:從網上找到一篇文章, 寫的挺基礎, 通俗易懂的, 和大家分享: 現在搞懂了文字檔與二進位檔案之間的關係啦.我們可以利用二進位編輯器查看文字檔.紅框中的左邊是十六進位顯示的,右邊是文本(ascii在程式中有這麼一句:開始我不明白為什麼要寫兩個位元組的"fffe", 後才上網查了一下資料才發現,這與編碼方式有關.UTF的位元組序和BOMUTF-8
Time of Update: 2018-12-06
Path=C:"WINDOWS;C:"WINDOWS"system32;C:"WINDOWS"system32"Wbem;C:"Program Files"ATI Technologies"ATI.ACE"Core-Static;C:"Program Files"Microsoft SQL Server"90"Tools"binn";C:"WINDOWS;C:"WINDOWS"system32;C:"WINDOWS"system32"Wbem;D:"Development"Qt"2009.01"
Time of Update: 2018-12-06
網上搜尋了一下,發現檢測記憶體流失的工具還是很多的。下面是從網上找到的一些材料,主要是在linux系統中記憶體流失的檢測方法。(1)什麼是記憶體記憶體流失? 在此,談論的是程式設計中記憶體流失和錯誤的問題,不過,並不是所有的程式都有這一問題。首先,泄漏等一些記憶體方面的問題在有的程式語言中是不容易發生的。這些程式語言一般都認為記憶體管理太重要了,所以不能由程式員來處理,最好還是由程式語言設計者來處理這些問題,這樣的語言有Perl、Java等等。 然而,在一些語言(最典型的就是C和C++
Time of Update: 2018-12-06
SVN 全域忽略列表公用過慮的檔案模式*.[Bb][Aa][Kk] *.[Dd][Bb] *.[Ll][Oo][Gg] *.[Mm][Aa][Pp] *.[Tt][Mm][Pp]delphi 源碼提交時需過慮的檔案模式*.~* *.[Dd][Dd][Pp] *.[Dd][Cc][Pp] *.stat *.tds vc6 vs2003 vs2005 源碼提交時需過慮的檔案模式*.aps *.clw *.ilk *.idb *.ncb *.opt *.obj *.plg *.pch *.pdb
Time of Update: 2018-12-06
N in 1 & 多重開機光碟片製作作者:未知 來源:未知 加入時間:2003-8-8 飄Down軟體站多重開機所需軟體:LOADER.BIN 、DISKEM1X.BIN 、DISKEMU.CMD [rar]uploadImages/20022518243140725.rar[/rar] 製作 ISO 所需軟體:CDIMAGE [rar]uploadImages/20022518245877035.rar[/rar]
Time of Update: 2018-12-06
不能做“沒事找抽型”投資者 股市漲跌沒有好壞,漲是正確的,跌也是正確的,市場永遠是正確的,不正確的只有我們自己的方法。熊市是股市的一個正常的必不可少的組成部分,只要炒股就不 可能迴避它,我們只有樹立正確的熊市炒股觀,變壞事為好事,這是聰明人的唯一選擇。下面是一些職業炒股人總結的熊市經驗,可能對一些還沒有完全糊塗的人有 些作用。 1、熊市的最後結果是:徹底的消滅一批人,同時造就了另一批人!您是哪一批人,取決於您是否順勢而為!逆勢者死,順勢者昌!
Time of Update: 2018-12-06
Quine 以哲學家 Willard van Orman Quine (1908-2000) 而命名,表示一個可以產生他自己的完全的原始碼的程式。編寫出某個語言中最簡短的 quine 通常作為駭客們的消遣。作為真正的 quine ,有一些約定:程式不能接受輸入或者是開啟檔案,因為那樣就可以直接輸入原始碼或者是把原始碼檔案直接開啟再重新列印出來,就沒有什麼意思了;同時,一個完全空白的程式(產生完全空白的輸出,即沒有輸出)也並不能稱作 quine 。quine 的想法最初出現在 Bratley,
Time of Update: 2018-12-06
內嵌函式並不總是內聯 Inline
Time of Update: 2018-12-06
這是在《C專家編程》一書上提到的一個問題。我在網上搜尋了一下,找到了一些解法,總結如下。首先是《C專家編程》上提到解法:#define ISUNSIGNED(a) (a>=0 && ~a>=0)#define ISUNSIGNED(type) ((type)0-1 > 0)第二個從類型來判斷,沒有問題。而第一個只能用在K&R C裡,在ANSI C裡就不行了。當這個宏被用在int/unsigned
Time of Update: 2018-12-06
對於下面的程式:View Code