91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 2.62MB
    文件類型: .rar
    金幣: 2
    下載: 0 次
    發布日期: 2023-09-11
  • 語言: C/C++
  • 標簽: C??泛型??哈希函數??

資源簡介

開放地址法哈希表構建,使用純C語言實現,利用了泛型的思想進行編寫。

資源截圖

代碼片段和文件信息

//?HashTry.cpp?:?定義控制臺應用程序的入口點。
//



#include?“stdafx.h“

typedef?struct?{
void *lpHashData;
INT elemSize;
DWORD adrsCode;
DWORD hashPos;
}?hashType;

//Def
void?CreateHashTable(hashType?*h?void?*hashData?int?paramSize?BOOL?IsChar?=?FALSE);
void?CreateHashTable(__out?hashType?**h?void?*ptrh?void?**hashData?int?paramSize?
int?dataCount?BOOL?IsChar?=?FALSE);
void?CreateHashTable(__out?hashType?**h?void?*ptrh?void?*hashData?int?paramSize?
int?dataCount);
void?DisposeHashtable(hashType?**h?int?dataCount);
void?OpenAdrsHashFunc(hashType?**h?int?dataCount);

//Imp
void?CreateHashTable(hashType?*h?void?*hashData?int?paramSize?BOOL?IsChar)
{
h->lpHashData?=?hashData;
if(IsChar?==?TRUE)
h->elemSize?=?paramSize?*?
(?paramSize?==?1???strlen((char*)hashData)?:?wcslen((wchar_t*)hashData)?);
else
h->elemSize?=?paramSize;
h->adrsCode?=?0;
for?(int?i?=?0;?i?elemSize?;?i++)
{
h->adrsCode?+=?((char*)hashData)[i];
}
h->hashPos?=?NULL;
}

void?CreateHashTable(__out?hashType?**h?void?*ptrh?void?**hashData?int?paramSize?
int?dataCount?BOOL?IsChar)
{
h?=?(hashType?**)malloc(sizeof(hashType*)?*?dataCount);?
memcpy(ptrh?&h?sizeof(char*));
for?(int?i?=?0;?i? {
h[i]?=?(hashType?*)malloc(sizeof(hashType));
CreateHashTable(h[i]?hashData[i]?paramSize?IsChar);
}
}

void?CreateHashTable(__out?hashType?**h?void?*ptrh?void?*hashData?int?paramSize?
int?dataCount)
{
h?=?(hashType?**)malloc(sizeof(hashType*)?*?dataCount);?
memcpy(ptrh?&h?sizeof(char*));
for?(int?i?=?0;?i? {
h[i]?=?(hashType?*)malloc(sizeof(hashType));
CreateHashTable(h[i]?(char*)hashData?+?paramSize?*?i?paramSize?0);
}
}

void?DisposeHashtable(hashType?**h?int?dataCount)
{
for?(int?i?=?0;?i? {
free?(h[i]);
}

free(h);
}

void?OpenAdrsHashFunc(hashType?**h?int?dataCount)
{
BOOL?*bState?=?(BOOL*)malloc(dataCount?*?sizeof(BOOL));
memset(bState?0?dataCount?*?sizeof(bool));
for?(int?i?=?0;?i? {
int?nIndex?=?h[i]->adrsCode?%?dataCount;
while?(bState[nIndex]?==?TRUE)
{
nIndex?=?(++nIndex)?%?dataCount;
}
bState[nIndex]?=?TRUE;
h[i]->hashPos?=?nIndex;
}
free(bState);
}

int?_tmain(int?argc?_TCHAR*?argv[])
{

wchar_t?*testHash[]?=?{L“Amy“?L“Bob“?L“Core“?L“Dog“?L“lele“?L“kunkun“?L“sst“?L“yzj“};
int?dataCount?=?8;?
hashType?**hashTemp?=?NULL;
CreateHashTable(hashTemp?&hashTemp?(void**)testHash?sizeof(wchar_t)??dataCount?TRUE);
/* printf(“%d\n“?hashTemp);*/
OpenAdrsHashFunc(hashTemp?dataCount);
printf(“OriginStr?AllSize?AdrsCode?HashCode\n“);
? for?(int?i?=?0;?i?? {
//printf(“%s?%d?%d?%d?\n“?(char*)hashTemp[i]->lpHashData?hashTemp[i]->elemSize?hashTemp[i]->adrsCode?hashTemp[i]->hashPos);
? wprintf(_T(“%s?%d?%d?%d?\n“)?(wchar_t*)hashTemp[i]->lpHashData?hashTemp[i]->elemSize?hashTemp[i]->ad

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----

?????文件???????2538??2012-04-08?19:25??HashTry\HashTry\Debug\cl.command.1.tlog

?????文件??????40128??2012-04-08?19:25??HashTry\HashTry\Debug\CL.read.1.tlog

?????文件???????1212??2012-04-08?19:25??HashTry\HashTry\Debug\CL.write.1.tlog

?????文件????????406??2012-03-08?14:32??HashTry\HashTry\Debug\HashTry.exe.embed.manifest

?????文件????????472??2012-03-08?14:34??HashTry\HashTry\Debug\HashTry.exe.embed.manifest.res

?????文件????????381??2012-04-08?19:25??HashTry\HashTry\Debug\HashTry.exe.intermediate.manifest

?????文件?????????53??2012-04-08?19:25??HashTry\HashTry\Debug\HashTry.lastbuildstate

?????文件???????2153??2012-04-08?19:25??HashTry\HashTry\Debug\HashTry.log

?????文件??????13039??2012-04-08?19:25??HashTry\HashTry\Debug\HashTry.obj

?????文件????9043968??2012-04-08?19:19??HashTry\HashTry\Debug\HashTry.pch

?????文件????????204??2012-03-08?14:32??HashTry\HashTry\Debug\HashTry_manifest.rc

?????文件??????????2??2012-04-08?19:25??HashTry\HashTry\Debug\link-cvtres.read.1.tlog

?????文件??????????2??2012-04-08?19:25??HashTry\HashTry\Debug\link-cvtres.write.1.tlog

?????文件??????????2??2012-04-08?19:25??HashTry\HashTry\Debug\link.5752-cvtres.read.1.tlog

?????文件??????????2??2012-04-08?19:25??HashTry\HashTry\Debug\link.5752-cvtres.write.1.tlog

?????文件??????????2??2012-04-08?19:25??HashTry\HashTry\Debug\link.5752.read.1.tlog

?????文件??????????2??2012-04-08?19:25??HashTry\HashTry\Debug\link.5752.write.1.tlog

?????文件??????????2??2012-04-08?19:25??HashTry\HashTry\Debug\link.7392-cvtres.read.1.tlog

?????文件??????????2??2012-04-08?19:25??HashTry\HashTry\Debug\link.7392-cvtres.write.1.tlog

?????文件??????????2??2012-04-08?19:25??HashTry\HashTry\Debug\link.7392.read.1.tlog

?????文件??????????2??2012-04-08?19:25??HashTry\HashTry\Debug\link.7392.write.1.tlog

?????文件???????2830??2012-04-08?19:25??HashTry\HashTry\Debug\link.command.1.tlog

?????文件???????6384??2012-04-08?19:25??HashTry\HashTry\Debug\link.read.1.tlog

?????文件???????1336??2012-04-08?19:25??HashTry\HashTry\Debug\link.write.1.tlog

?????文件????????708??2012-04-08?19:25??HashTry\HashTry\Debug\mt.command.1.tlog

?????文件????????518??2012-04-08?19:25??HashTry\HashTry\Debug\mt.read.1.tlog

?????文件????????394??2012-04-08?19:25??HashTry\HashTry\Debug\mt.write.1.tlog

?????文件????????938??2012-03-08?14:34??HashTry\HashTry\Debug\rc.command.1.tlog

?????文件????????462??2012-03-08?14:34??HashTry\HashTry\Debug\rc.read.1.tlog

?????文件????????478??2012-03-08?14:34??HashTry\HashTry\Debug\rc.write.1.tlog

............此處省略21個文件信息

評論

共有 條評論