锘??xml version="1.0" encoding="utf-8" standalone="yes"?>黄色精品在线看,一区二区欧美国产,亚洲免费在线视频http://m.shnenglu.com/lwch/category/14192.html銆怮Q:510134884銆戙愮紪璇戝師鐞嗕氦嫻佺兢:83905136銆戙怤Script欏圭洰緹?38843264銆戙怑mail:lwch4@163.com銆?/description>zh-cnTue, 22 Feb 2011 12:18:02 GMTTue, 22 Feb 2011 12:18:02 GMT60- 鍫嗙粨鏋勭殑瀹炵幇2http://m.shnenglu.com/lwch/archive/2011/02/22/140460.htmllwchlwchTue, 22 Feb 2011 09:29:00 GMThttp://m.shnenglu.com/lwch/archive/2011/02/22/140460.htmlhttp://m.shnenglu.com/lwch/comments/140460.htmlhttp://m.shnenglu.com/lwch/archive/2011/02/22/140460.html#Feedback0http://m.shnenglu.com/lwch/comments/commentRss/140460.htmlhttp://m.shnenglu.com/lwch/services/trackbacks/140460.html銆婄畝鍗曞爢緇撴瀯鐨勫疄鐜般?/a>涔嬪悗淇敼浜嗕笅浠g爜,浣垮唴瀛樼殑鍒嗛厤鏁堢巼鏇撮珮.
棣栧厛灝咹eapApplyed鍜孒eapUsed鍖呭惈榪涗竴涓粨鏋勪綋HEAPATTR,鍚勫崰1浣?
1 struct HEAPATTR
2 {
3 BYTE HeapApplyed : 1;
4 BYTE HeapUsed : 1;
5 }*HeapAttr;
鐒跺悗娣誨姞浜嗕竴涓狧eapCurrent鍙橀噺鐢ㄤ簬鎻愰珮媯绱㈤熷害.
1 int HeapCurrent;
鐩稿簲鐨勬瀯閫犲嚱鏁板拰鏋愭瀯鍑芥暟淇敼涓?
1 Heap(const int Size = 1024 * 300)
2 : HeapLength(Size),HeapCurrent(0),HeapLeft(Size)
3 {
4 HeapData = new CHAR[HeapLength];
5 HeapAttr = new HEAPATTR[HeapLength];
6 memset(HeapData,0,HeapLength);
7 memset(HeapAttr,0,HeapLength);
8 }
9
10 ~Heap()
11 {
12 delete[] HeapData;
13 delete[] HeapAttr;
14 }
娉ㄦ剰:涓涓狧EAPATTR緇撴瀯鍗?涓瓧鑺?瀹為檯涓婁嬌鐢ㄧ殑鍙湁2浣?緙栬瘧鍣ㄨ嚜鍔ㄤ負鍏惰ˉ榻?浣嶅艦鎴?瀛楄妭(鏃㈢劧鍙湁TRUE鍜孎ALSE娌$悊鐢辮鐢℉eapLength*2瀛楄妭
)
淇敼GetEmptyAddr綆楁硶,浣垮叾鎻愬崌鏁堢巼.
1 CHAR* GetEmptyAddr(const int Size)
2 {
3 int Left = 0;
4 for(int i=HeapCurrent;i<HeapLength;i++)
5 {
6 if(HeapAttr[i].HeapApplyed && !HeapAttr[i].HeapUsed) Left++;
7 else Left = 0;
8 if(Left == Size) return HeapData + i - Left + 1;
9 }
10 if(HeapCurrent > 0 && HeapCurrent > Size)
11 {
12 Left = 0;
13 for(int i=0;i<HeapCurrent;i++)
14 {
15 if(HeapAttr[i].HeapApplyed && !HeapAttr[i].HeapUsed) Left++;
16 else Left = 0;
17 if(Left == Size) return HeapData + i - Left + 1;
18 }
19 }
20 return 0;
21 }
鍚屾椂涔熷皢GetEmptyLeft淇敼涓?
1 inline int GetEmptyLeft(int Size)
2 {
3 int Left = 0;
4 for(int i=HeapCurrent;i<HeapLength;i++)
5 {
6 if(!HeapAttr[i].HeapApplyed) Left++;
7 else Left = 0;
8 if(Left == Size) return i - Left + 1;
9 }
10 if(HeapCurrent > 0 && HeapCurrent > Size)
11 {
12 Left = 0;
13 for(int i=0;i<HeapCurrent;i++)
14 {
15 if(!HeapAttr[i].HeapApplyed) Left++;
16 else Left = 0;
17 if(Left == Size) return i - Left + 1;
18 }
19 }
20 return 0;
21 }
娣誨姞DumpFile鍑芥暟鐢熸垚Dump鏂囦歡.
1 BOOL DumpFile(CHAR* FileName)
2 {
3 FILE* fp = fopen(FileName,"wt+");
4 fwrite(HeapData,HeapLength,sizeof(CHAR),fp);
5 fclose(fp);
6 return TRUE;
7 }
鏈鍚庣粰鍑?a href="http://m.shnenglu.com/Files/lwch/HeapTest_2.rar" target=_blank>瀹屾暣浠g爜
]]> - 綆鍗曠殑鍫嗙粨鏋勫疄鐜?/title>http://m.shnenglu.com/lwch/archive/2011/02/15/140115.htmllwchlwchTue, 15 Feb 2011 12:59:00 GMThttp://m.shnenglu.com/lwch/archive/2011/02/15/140115.htmlhttp://m.shnenglu.com/lwch/comments/140115.htmlhttp://m.shnenglu.com/lwch/archive/2011/02/15/140115.html#Feedback2http://m.shnenglu.com/lwch/comments/commentRss/140115.htmlhttp://m.shnenglu.com/lwch/services/trackbacks/140115.html鎴戜滑鐭ラ亾瀵逛簬涓涓暟鎹爢,鏈夌敵璇峰唴瀛樺潡,閲婃斁鍐呭瓨鍧楃瓑鎿嶄綔.
搴旀鎴戜滑緇欏嚭3涓暟緇?鍒嗗埆涓哄唴瀛樺爢,鏍囪鏁扮粍,浣跨敤鏄惁鏁扮粍鍜屼竴涓彉閲忕敤浜庤〃紺哄唴瀛樺爢鍐呭墿浣欑┖闂存暟.
1 CHAR HeapData[HEAP_LENGTH];
2 CHAR HeapApplyed[HEAP_LENGTH];
3 CHAR HeapUsed[HEAP_LENGTH];
4
5 int HeapLeft; // 鍓╀綑Heap澶у皬
鍒濆鍖栨椂灝?涓暟緇勫叏閮ㄨ涓?.
1 memset(HeapData,0,HEAP_LENGTH);
2 memset(HeapApplyed,0,HEAP_LENGTH);
3 memset(HeapUsed,0,HEAP_LENGTH);
鐒跺悗鎴戜滑闇瑕佷竴涓狽ew鎿嶄綔鏉ョ敵璇蜂竴鍧楀皻鏈嬌鐢ㄧ殑鍐呭瓨鍧?
1 CHAR* New(const int Size)
2 {
3 if(Size > HeapLeft) throw HEAP_OVERFLOW;
4 int iEmpty = GetEmptyLeft(Size);
5
6 memset(HeapApplyed + iEmpty,1,Size); // 灝嗗唴瀛樺潡鏍囪
7
8 HeapLeft -= Size;
9 return HeapData + iEmpty;
10 }
涓涓狥ree鎿嶄綔鏉ラ噴鏀句竴涓唴瀛樺潡.
1 BOOL Free(const int Offset,const int Size)
2 {
3 if(!Apply(Offset,Size)) throw HEAP_NOTAPPLY;
4 memset(HeapApplyed + Offset,0,Size); // 璁劇疆涓烘湭鏍囪
5 memset(HeapUsed + Offset,0,Size); // 鏍囪涓烘湭浣跨敤
6 HeapLeft += Size;
7 return TRUE;
8 }
涓涓狦etEmptyAddr鎿嶄綔鏉ヨ幏寰楃涓涓鍚堟寚瀹氬ぇ灝忕殑絀洪棽鍐呭瓨鍗″潡.
1 CHAR* GetEmptyAddr(const int Size)
2 {
3 for(int i=0;i<HEAP_LENGTH;i++)
4 if(HeapApplyed[i] && !HeapUsed[i]) // 宸叉爣璁板茍鏈嬌鐢?/span>
5 {
6 BOOL bContinue = FALSE;
7 for(int j=i;j<Size;j++)
8 if(!HeapApplyed[j] || HeapUsed[j]) // 鏈爣璁版垨宸蹭嬌鐢?/span>
9 {
10 bContinue = TRUE;
11 break;
12 }
13 if(bContinue) continue;
14 return HeapData + i;
15 }
16 return 0;
17 }
鍜屼竴涓猄etData鎿嶄綔鏉ヨ緗暟鎹?
1 BOOL SetData(const int Offset,const Type* Data,const int Size)
2 {
3 if(!Apply(Offset,Size)) throw HEAP_NOTAPPLY;
4 memcpy(HeapData + Offset,Data,Size); // 鎷瘋礉鏁版嵁
5 memset(HeapUsed + Offset,1,Size); // 鏍囪涓哄凡浣跨敤
6 return TRUE;
7 }
鏈鍚庢垜浠潵嫻嬭瘯涓涓嬭繖涓爢緇撴瀯.
1 try
2 {
3 Heap<CHAR> heap;
4 heap.New(9000);
5
6 int i = 1000;
7 heap.Free(0,100);
8 printf("EmptyAddr:%X\n",heap.GetEmptyAddr(sizeof(int)));
9
10 int* Addr1 = (int*)heap.GetEmptyAddr(sizeof(int));
11 heap.SetData((CHAR*)Addr1 - *heap,(CHAR*)&i,sizeof(int));
12
13 printf("The Data In Heap:%d\n",*Addr1);
14
15 heap.New(100);
16 printf("EmptyAddr:%X\n",heap.GetEmptyAddr(sizeof(int)));
17
18 CHAR str[] = "aaaaa";
19 CHAR* Addr2 = heap.GetEmptyAddr(strlen(str));
20 heap.SetData(Addr2 - *heap,str,strlen(str));
21
22 printf("The Data In Heap:%s\n",Addr2);
23
24 printf("EmptyAddr:%X\n",heap.GetEmptyAddr(sizeof(int)));
25 }
26 catch(int i)
27 {
28 switch(i)
29 {
30 case HEAP_OVERFLOW:
31 printf("鍫嗘孩鍑篭n");
32 break;
33 case HEAP_NOTAPPLY:
34 printf("閿欒鐨勫湴鍧\n");
35 break;
36 }
37 }
嫻嬭瘯緇撴灉:
1 EmptyAddr:4EFB0
2 The Data In Heap:1000
3 EmptyAddr:4EF4C
4 The Data In Heap:aaaaa
5 EmptyAddr:4EF51
涓嬮潰緇欏嚭瀹屾暣浠g爜
]]>- 綆鍗曠殑Hash琛ㄥ疄鐜?/title>http://m.shnenglu.com/lwch/archive/2010/08/10/122997.htmllwchlwchTue, 10 Aug 2010 15:37:00 GMThttp://m.shnenglu.com/lwch/archive/2010/08/10/122997.htmlhttp://m.shnenglu.com/lwch/comments/122997.htmlhttp://m.shnenglu.com/lwch/archive/2010/08/10/122997.html#Feedback0http://m.shnenglu.com/lwch/comments/commentRss/122997.htmlhttp://m.shnenglu.com/lwch/services/trackbacks/122997.html 1 #include <iostream>
2
3 template <typename _Type>
4 class HashTable
5 {
6 public:
7 HashTable(int Length)
8 {
9 Element = new _Type[Length];
10 for(int i=0;i<Length;i++)
11 Element[i] = -1;
12 this->Length = Length;
13 Count = 0;
14 }
15
16 ~HashTable()
17 {
18 delete[] Element;
19 }
20
21 // Hash鍑芥暟
22 virtual int Hash(_Type Data)
23 {
24 return Data % Length;
25 }
26
27 // 鍐嶆暎鍒楁硶
28 virtual int ReHash(int Index,int Count)
29 {
30 return (Index + Count) % Length;
31 }
32
33 // 鏌ユ壘鏌愪釜鍏冪礌鏄惁鍦ㄨ〃涓?/span>
34 virtual bool SerachHash(_Type Data,int& Index)
35 {
36 Index = Hash(Data);
37 int Count = 0;
38 while(Element[Index] != -1 && Element[Index] != Data)
39 Index = ReHash(Index,++Count);
40 return Data == Element[Index] ? true : false;
41 }
42
43 virtual int SerachHash(_Type Data)
44 {
45 int Index = 0;
46 if(SerachHash(Data,Index)) return Index;
47 else return -1;
48 }
49
50 // 鎻掑叆鍏冪礌
51 bool InsertHash(_Type Data)
52 {
53 int Index = 0;
54 if(Count < Length && !SerachHash(Data,Index))
55 {
56 Element[Index] = Data;
57 Count++;
58 return true;
59 }
60 return false;
61 }
62
63 // 璁劇疆Hash琛ㄩ暱搴?/span>
64 void SetLength(int Length)
65 {
66 delete[] Element;
67 Element = new _Type[Length];
68 for(int i=0;i<Length;i++)
69 Element[i] = -1;
70 this->Length = Length;
71 }
72
73 // 鍒犻櫎鏌愪釜鍏冪礌
74 void Remove(_Type Data)
75 {
76 int Index = SerachHash(Data);
77 if(Index != -1)
78 {
79 Element[Index] = -1;
80 Count--;
81 }
82 }
83
84 // 鍒犻櫎鎵鏈夊厓绱?/span>
85 void RemoveAll()
86 {
87 for(int i=0;i<Length;i++)
88 Element[i] = -1;
89 Count = 0;
90 }
91
92 void Print()
93 {
94 for(int i=0;i<Length;i++)
95 printf("%d ",Element[i]);
96 printf("\n");
97 }
98 protected:
99 _Type* Element; // Hash琛?/span>
100 int Length; // Hash琛ㄥぇ灝?/span>
101 int Count; // Hash琛ㄥ綋鍓嶅ぇ灝?/span>
102 };
103
104 void main()
105 {
106 HashTable<int> H(10);
107 printf("Hash Length(10) Test:\n");
108 int Array[6] = {49,38,65,97,13,49};
109 for(int i=0;i<6;i++)
110 printf("%d\n",H.InsertHash(Array[i]));
111 H.Print();
112 printf("Find(97):%d\n",H.SerachHash(97));
113 printf("Find(49):%d\n",H.SerachHash(49));
114 H.RemoveAll();
115 H.SetLength(30);
116 printf("Hash Length(30) Test:\n");
117 for(int i=0;i<6;i++)
118 printf("%d\n",H.InsertHash(Array[i]));
119 H.Print();
120 printf("Find(97):%d\n",H.SerachHash(97));
121 printf("Find(49):%d\n",H.SerachHash(49));
122 system("pause");
123 }
榪愯緇撴灉:

鐢變笂鍥懼彲鐭ョ粰瀹氱殑Hash琛ㄩ暱搴﹁秺闀胯秺涓嶅鏄撲駭鐢熷啿紿?鎬ц兘涔熷氨瓚婇珮.

]]> - 鏁版嵁緇撴瀯http://m.shnenglu.com/lwch/archive/2010/07/08/119656.htmllwchlwchWed, 07 Jul 2010 16:12:00 GMThttp://m.shnenglu.com/lwch/archive/2010/07/08/119656.htmlhttp://m.shnenglu.com/lwch/comments/119656.htmlhttp://m.shnenglu.com/lwch/archive/2010/07/08/119656.html#Feedback1http://m.shnenglu.com/lwch/comments/commentRss/119656.htmlhttp://m.shnenglu.com/lwch/services/trackbacks/119656.html銆婃暟鎹粨鏋勪箣綰挎ц〃銆?/a>
鏈枃闃愯堪浜嗙嚎鎬ц〃涓殑欏哄簭瀛樺偍緇撴瀯鍜岄摼鎺ュ瓨鍌ㄧ粨鏋勶紝鍏朵腑涓昏浠嬬粛浜嗗崟閾捐〃鍜屽驚鐜弻閾捐〃緇撴瀯錛岀嚎鎬ц〃涔冩渶鍩烘湰鐨勬暟鎹粨鏋勩?
銆婃暟鎹粨鏋勪箣鏍堛?/a>
鏈枃闃愯堪浜嗙嚎鎬ц〃鐨勪竴縐嶇壒孌婂艦寮忔爤錛屽叾涓富瑕佷粙緇嶄簡鏍堢殑欏哄簭瀛樺偍緇撴瀯鍜岃繛鎺ュ瓨鍌ㄧ粨鏋勶紝鍘嬫爤涓庡嚭鏍堟搷浣溿?

]]> 青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
欧美日韩久久|
国产精品h在线观看|
狠狠色狠狠色综合日日五|
欧美一区高清|
久久成人免费电影|
在线播放日韩专区|
亚洲国产高清自拍|
欧美经典一区二区三区|
亚洲在线一区|
欧美在线一级va免费观看|
在线国产日韩|
亚洲精品一区二区在线观看|
国产精品va在线播放|
久久久另类综合|
狂野欧美激情性xxxx|
99精品视频免费全部在线|
中文在线一区|
经典三级久久|
亚洲精品久久久久中文字幕欢迎你
|
99一区二区|
亚洲综合999|
亚洲国产高清自拍|
一区二区高清视频在线观看|
国产亚洲精品7777|
亚洲精品1区2区|
国产婷婷精品|
日韩视频中文字幕|
激情成人综合|
一区二区三区三区在线|
狠狠狠色丁香婷婷综合久久五月|
亚洲国产精品悠悠久久琪琪|
国产精品日日做人人爱|
欧美成人免费在线|
国产精品久久午夜|
欧美二区在线看|
国产精品一卡二|
亚洲人体大胆视频|
黄色小说综合网站|
亚洲少妇一区|
亚洲精品免费观看|
久久久久久婷|
久久精品欧洲|
久久嫩草精品久久久精品一|
欧美mv日韩mv国产网站app|
亚洲欧美国产77777|
欧美黄色aa电影|
久久久亚洲午夜电影|
国产精品igao视频网网址不卡日韩|
免费成人黄色|
韩日在线一区|
亚洲欧美日韩直播|
性欧美超级视频|
欧美深夜影院|
亚洲欧洲美洲综合色网|
亚洲国产精品一区二区尤物区|
性做久久久久久久免费看|
亚洲一区免费|
欧美日韩一区二区国产|
亚洲精品国产无天堂网2021|
亚洲激情社区|
你懂的亚洲视频|
你懂的网址国产 欧美|
国内外成人免费激情在线视频网站|
亚洲深夜影院|
亚洲天堂成人|
国产精品嫩草影院av蜜臀|
日韩一级黄色片|
亚洲小少妇裸体bbw|
欧美日韩美女|
亚洲一区二区三区影院|
亚洲免费一在线|
国产精品美女在线观看|
亚洲一区二区三区在线看|
欧美制服丝袜|
悠悠资源网久久精品|
久久美女性网|
欧美黄色视屏|
99精品免费网|
欧美亚男人的天堂|
午夜精品久久久久久|
久久亚洲高清|
亚洲国产美女精品久久久久∴|
欧美电影免费观看|
一区二区三区欧美视频|
欧美专区在线观看|
在线视频成人|
欧美精品一区二区三区在线看午夜|
日韩亚洲一区在线播放|
欧美一区91|
亚洲黄色成人|
欧美三区美女|
久久国产精品99国产|
亚洲国产欧美在线|
午夜精品在线视频|
韩国女主播一区|
欧美精品一区二区三区蜜桃|
亚洲影视在线播放|
蜜臀久久99精品久久久久久9|
亚洲欧洲在线免费|
国产精品女主播一区二区三区|
久久国产黑丝|
亚洲免费精彩视频|
久久中文字幕一区|
在线一区二区视频|
黄色亚洲免费|
国产精品久久久久av免费|
久久久久久久久综合|
一区二区久久久久|
欧美 日韩 国产一区二区在线视频|
亚洲最新视频在线|
国外成人在线视频|
国产精品二区二区三区|
免费看的黄色欧美网站|
亚洲一区二区三区免费观看|
欧美黄色aaaa|
久久国产精品高清|
一区二区三区欧美成人|
狠狠色丁香久久综合频道|
欧美日韩在线高清|
麻豆成人在线观看|
性欧美精品高清|
99国产精品私拍|
欧美激情一区|
久久亚洲春色中文字幕|
亚洲一区二区三区四区在线观看|
一区国产精品|
国产一区二区精品在线观看|
欧美日韩在线不卡一区|
欧美1区2区3区|
久久久久久九九九九|
欧美一区二区三区婷婷月色|
日韩视频免费在线观看|
亚洲国产中文字幕在线观看|
麻豆精品一区二区综合av|
西瓜成人精品人成网站|
亚洲一区在线免费|
一道本一区二区|
99re这里只有精品6|
亚洲精品一区二区在线|
在线看日韩欧美|
影音先锋亚洲精品|
国产有码在线一区二区视频|
国产精品综合|
国产女精品视频网站免费
|
亚洲特级毛片|
99在线精品视频|
99精品视频免费全部在线|
日韩亚洲欧美一区|
中文高清一区|
亚洲欧美bt|
久久激情网站|
久久久久久香蕉网|
理论片一区二区在线|
蜜臀久久久99精品久久久久久|
猛男gaygay欧美视频|
欧美大尺度在线观看|
欧美激情综合色综合啪啪|
欧美剧在线观看|
欧美性大战久久久久|
国产精品专区h在线观看|
国产一区成人|
亚洲福利一区|
99热精品在线观看|
亚洲在线观看视频|
久久久久久国产精品mv|
久久人人九九|
亚洲国产日韩一区二区|
一本色道久久综合|
欧美亚洲视频在线观看|
久久裸体艺术|
欧美国产日韩一区二区在线观看
|
欧美不卡三区|
国产精品久久久久影院亚瑟|
国产亚洲精品bt天堂精选|
在线不卡欧美|
一本色道久久综合精品竹菊
|
久久综合国产精品台湾中文娱乐网
|
国产精品麻豆成人av电影艾秋|
国产婷婷色一区二区三区|
亚洲人成人一区二区三区|
亚洲欧美日韩精品久久亚洲区|
久久免费观看视频|
亚洲免费观看高清完整版在线观看熊|
亚洲女人天堂成人av在线|
久热国产精品视频|
国产精品免费在线|
最新成人av网站|
欧美在线视频播放|
亚洲激情啪啪|
欧美一区二区三区四区在线
|
久久精品国产一区二区三区|
欧美激情综合网|
国内精品免费午夜毛片|
中文国产成人精品|
欧美91大片|
午夜激情一区|
国产精品高清在线观看|
亚洲日韩中文字幕在线播放|
欧美一区二区黄色|
亚洲理伦电影|