著名的AT&T UNIX v6 源碼,雖然已不能在現在的機器中直接運行(通過在Linux上安裝pdp11 simulator可以運行),但從中首先可以學習到C程序設計的簡約與嚴謹(原作者是圖靈獎得主Brian W. Kernighan和Dennis M. Ritchie),其次還可以幫助深入理解操作系統概念,其設計思想仍然廣泛存在于多數操作系統中。
本系統的首次發布于1976年,現仍然做為MIT高年級學生、研究生的操作系統學習的分析材料。
從空格(ASCII碼32)到~(ASCII碼126)。表內的第一行與表頭相同,下面的每一行都與上一行的內容相同,只是字符相左移動了一個位置。這樣,下一行的最后一個字符與上一行的第一個字符相同。
為了進行文本編碼,可以任意選擇一個字符串,稱之為編碼字符串,也就是常說的密鑰。為解釋編碼方法,我們假設密鑰是Walrus,待編碼的文本(即常說的明文)是:
Meet me in St. Louis
我們在待編碼的文本之上重復書寫上述密鑰,使得其長度與待編碼文本相同:
WalrusWalrusWalrusWa
Meet me in St. Louis
從上述兩行文本中按列對應方式依次提取一個字符,可得到多個字符對:WM、ae、le等,這些字符對可用作上表的索引。這樣,依次以這些字符對作為索引可從上表查到一系列字符,這些字符就構成了文本編碼,即常說的密文。例如,第W行第M列隊應得字符是%,因此編碼的第一個字符就是%;第a行第e列對應的字符是G;第l行第e列對應的是R。依次進行上述查找操作,可以得到完整的密文
%Grgua=aVauGLol?eiAU
進行相反的操作就可對該文本解碼。
編寫編碼/解碼程序,可以對文本文件或鍵盤輸入的字符串進行編碼/解碼,在選擇編碼解碼后,需要提示用戶輸入密鑰。
<===== 關于 GANT 鼠標集 (M) =====> 此“GANT 鼠標集 (M)”包含黃色和藍色兩種顏色主題,每種顏色主題分別有兩套鼠標。換句話說,這個鼠標集共提供4套鼠標,分別放在4個文件夾內。 這里,我簡單介紹一下每套鼠標,以所在文件夾名來指代: - yellow_normal_24x24:黃色,9個 ani 文件(動態鼠標)和6個 cur 文件(靜態鼠標),與預覽圖中所示一樣; - yellow_colorful_24x24:黃色,除“Work in Background.ani”和“Wait.ani”兩個鼠標為12色變換之外,其他13個鼠標與上面一套完全相同; - blue_normal_24x24:藍色,9個 ani 文件和6個 cur 文件; - blue_colorful_24x24:藍色,除“Work in Background.ani”和“Wait.ani”兩個鼠標為12色變換之外,其他13個鼠標與上面一套完全相同。 所有鼠標的尺寸都是 24像素 x 24像素。 感謝 mattahan 準許我使用他的 GANT 圖標來制作這幾套鼠標! 同時非常感謝 cyberchaos05(http://cyberchaos05.deviantart.com),他為我制作了鼠標的預覽圖。 “GANT 鼠標集 (M)”僅供個人使用,不得用于任何商業目的!
Although there has been a lot of AVL tree libraries available now, nearly all of them are meant to work in the random access memory(RAM). Some of them do provide some mechanism for dumping the whole tree into a file and loading it back to the memory in order to make data in that tree persistent. It serves well when there s just small amount of data. When the tree is somewhat bigger, the dumping/loading process could take a lengthy time and makes your mission-critical program less efficient. How about an AVL tree that can directly use the disk for data storage ? If there s something like that, we won t need to read through the whole tree in order to pick up just a little bit imformation(a node), but read only the sectors that are neccssary for locating a certain node and the sectors in which that node lies. This is my initial motivation for writing a storage-media independent AVL Tree. However, as you step forth, you would find that it not only works fine with disks but also fine with memorys, too.