-
Java 版本的 PHP serialize/unserialize 完整實現。目前實現了對各種基本類型、數組、ArrayList、HashMap、和其它可序列化對象的序列化。實現了 PHP 5 中的Serializable 接口的支持。實現了 PHP 中的 __sleep 和 __wakeup 魔術方法的支持。實現了對所有標示(N、b、i、d、s、a、O、R、r、U、C)的反序列化,在對標示 a 反序列化時,可以根據下標和值來自動判斷是 ArrayList 還是 HashMap。并且在反序列化時可以強制指定反序列化的類型。該類是靜態類,無需也不能被實例化。除了包含了 serialize 和 unserialize 方法以外,還增加了一個 cast 方法,用來進行反序列化后的類型轉換,該方法主要用于將反序列化后的 ArrayList 轉化為數組或者 HashMap。
標簽:
unserialize
ArrayList
PHP
serialize
上傳時間:
2016-01-06
上傳用戶:奇奇奔奔
-
古典密碼中,主要的思想為移位算法及置換算法。
1.移位密碼
密鑰K為整數,且取值空間為0到25;加密函數:x = x + k (mod 26);解密函數:x = x - k (mod 26)。當K=3時,為凱撒密碼。
2.仿射密碼
密鑰對由a、b組成,整數a滿足 gcd(a, 26) = 1,整數b的取值空間為0到25;加密函數:x = ax + b(mod 26);解密函數:x = a*y - a*b (mod 26)。當a=1,b=3時,為凱撒密碼。
3.維吉尼亞密碼
首先確定密鑰長度(本例中密鑰只采取個位數字,所以取決于輸入密鑰的長度),然后輸入滿足這個長度的向量;加密:取明文第一個字母并將之移k1位,這里k1=1,第二個字母移k2位,k2=2,一旦到了密鑰末尾,又從頭開始。
4.換位密碼
首先確定密鑰長度,輸入長度為5的0到4的整數序列,將明文分成每5個字母一組,每組字母按照密鑰進行換位。
標簽:
密碼
上傳時間:
2016-02-09
上傳用戶:jqy_china
-
編程題(15_01.c)
結構
struct student
{
long num
char name[20]
int score
struct student *next
}
鏈表練習:
(1).編寫函數struct student * creat(int n),創建一個按學號升序排列的新鏈表,每個鏈表中的結點中
的學號、成績由鍵盤輸入,一共n個節點。
(2).編寫函數void print(struct student *head),輸出鏈表,格式每行一個結點,包括學號,姓名,分數。
(3).編寫函數struct student * merge(struct student *a,struct student *b), 將已知的a,b兩個鏈表
按學號升序合并,若學號相同則保留成績高的結點。
(4).編寫函數struct student * del(struct student *a,struct student *b),從a鏈表中刪除b鏈表中有
相同學號的那些結點。
(5).編寫main函數,調用函數creat建立2個鏈表a,b,用print輸出倆個鏈表;調用函數merge升序合并2個
鏈表,并輸出結果;調用函數del實現a-b,并輸出結果。
a:
20304,xxxx,75,
20311,yyyy,89
20303,zzzz,62
20307,aaaa,87
20320,bbbb,79
b:
20302,dddd,65
20301,cccc,99
20311,yyyy,87
20323,kkkk,88
20307,aaaa,92
20322,pppp,83
標簽:
student
struct
score
long
上傳時間:
2016-04-13
上傳用戶:zxc23456789
-
segment,一個簡單的中文分詞程序,命令行如下:
java -jar segmenter.jar [-b|-g|-8|-s|-t] inputfile.txt
-b Big5, -g GB2312, -8 UTF-8, -s simp. chars, -t trad. chars
Segmented text will be saved to inputfile.txt.seg
標簽:
segment
分
程序
上傳時間:
2014-01-04
上傳用戶:ynzfm
-
本實訓是有關線性表的順序存儲結構的應用,在本實訓的實例程序中,通過C語言中提供的數組來存儲兩個已知的線性表,然后利用數組元素的下標來對線性表進行比較。通過對本實訓的學習,可以理解線性表在順序存儲結構下的操作方法。
在實訓中,我們設A=(a1,a2,…,an)和B=(b1,b2,…,bm)是兩個線性表,其數據元素的類型是整型。若n=m,且ai=bi,則稱A=B 若ai=bi,而aj<bj,則稱A<B;除此以外,均稱A>B。設計一比較大小的程序。
標簽:
線性
順序存儲
上傳時間:
2014-01-14
上傳用戶:www240697738
-
對PL0原編譯器進行了以下的擴充:1.增加以下保留字else(elsesym), for(forsym),to(tosym),downto(downtosym),return(returnsym),[(lmparen),](rmparen)
2.增加了以下的運算符:+=(eplus),-=(eminus),++(dplus),--(dminus)
取址運算符&(radsym),指向運算符@(padsym)
3.修改單詞:修改不等號#為<>
4.擴充語句:(1)增加了else子句
(2)增加了for語句
5.增加運算:(1).++運算 (2).--運算;(3).+=運算 (4).-=運算;(5).&取址運算;
(6).@指向運算;
6.增加類型:(1).增加多維數組a[i1][i2][i3]……[i(n-1)][i(n-2)][in] (2).增加指針類型(任何變量都能存放指針,但不支持指針的指針,如b:=@@a應該改寫為c:=@a,b:=@c)
7.將過程procedure擴展為函數:(1).允許定義過程時在其后加參數(var a, var b,……..,var n) (2)允許通過指針向函數形式參數傳地址;(3)允許返回值;可以用 a:=p(a,b,c….,n) 返回
標簽:
downtosym
returnsym
elsesym
downto
上傳時間:
2016-07-02
上傳用戶:saharawalker
-
Trie樹既可用于一般的字典搜索,也可用于索引查找。對于給定的一個字符串a1,a2,a3,...,an.則采用TRIE樹搜索經過n次搜索即可完成一次查找。不過好像還是沒有B樹的搜索效率高,B樹搜索算法復雜度為logt(n+1/2).當t趨向大,搜索效率變得高效。怪不得DB2的訪問內存設置為虛擬內存的一個PAGE大小,而且幀切換頻率降低,無需經常的PAGE切換。
標簽:
Trie
樹
搜索
上傳時間:
2016-07-06
上傳用戶:sk5201314
-
一元稀疏多項式計算器的基本功能是:
(1)輸入并建立多項式;
(2)輸出多項式,輸出形式為整數序列:n,c1,e1,c2,e2,….,cn,en, 其中n是多項式的項數,ci和ei分別是第I項的系數和指數,序列按照指數降序排列;
(3)多項式a和b相加,建立多項式a+b
(4)多項式a和b相減,建立多項式a-b.
標簽:
多項式
稀疏
計算器
輸入
上傳時間:
2016-10-25
上傳用戶:時代電子小智
-
編寫一個java應用程序。用戶從鍵盤輸入一個1-9999之間的數,程序將判斷這個數是幾位數,并判斷這個數是否回文數。回文數是指將數含有的數字逆序排列后得到的數和原數相同,例如12121,4224,6778776等都是回文數。
1)程序具有判斷用戶的輸入是否為合法整數的功能。對非法輸入(例如含有字母)要進行處理。
2)要判斷輸入數的位數,并輸出相關信息。
3)要判斷是否回文數。
二、二戰期間,英國情報人員獲取德軍的一機密電報,電報的內容為:
bzdz izu sxgzd vs lh ,vpzg woflsh vs vwrh vhlsddlmp glm wrw gzy vsg .gflyz gstfzu bvsg gzsd hdmlp vml lm ,hghzvy wmz hwiry mvvdgvy izd z hzd vivsg ,ltz tmlo tmlO
情報人員已經知道,這段電報的加密方式為:
1. 首先將字符串的順序顛倒。
2. 字母互換的規律為:A->Z, B-Y, C-X...X->C, Y->B, Z-A a->z, b->y, c-x...x->c, y->b, z->a.
3. 非字母字符保持不變。
請編程幫助情報人員破譯這份機密電報。給出注釋良好的源程序和程序運行后的結果。
標簽:
java
9999
編寫
應用程序
上傳時間:
2017-06-02
上傳用戶:dengzb84
-
RSA的最重要特色在于雙密鑰,它們有特殊的數學形式。RSA的一對密鑰有三個基本參數:模n ,公鑰b和私鑰a 。n和b是公開的,發送信息方用私鑰n加密消息,接受方用公鑰b能得到解密后的信息,從而確定發送信息方的身份,這就構成了簽名機制。對方用公鑰將要發送的信息加密,只有擁有私鑰的一方才能將信息解密。
標簽:
RSA
密鑰
上傳時間:
2017-07-31
上傳用戶:JasonC