资源简介
运用数据结构和算法中的哈希算法,用MFC来实现该算法
运用数据结构和算法中的哈希算法,用MFC来实现该算法
代码片段和文件信息
#include
#include
#include
#include
#include
#define MAXSIZE 21 //哈希表的最大容量,与所采用的哈希函数有关
enum BOOL{FalseTrue};
enum HAVEORNOT{NULLKEYHAVEKEYDELKEY}; //哈希表元素的三种状态,没有记录、有记录、有过记录但已被删除
typedef struct //定义哈希表的结构
{ int elem[MAXSIZE]; //数据元素体
HAVEORNOT elemflag[MAXSIZE]; // 元素状态标志,没有记录、有记录、有过记录但已被删除
int count; // 哈希表中当前元素的个数
}HashTable;
typedef struct
{ int keynum; // 记录的数据域,只有关键字一项
}Record;
void InitialHash(HashTable&); // 初始化哈希表
void PrintHash(HashTable); // 显示哈希表中的所有元素
BOOL SearchHash(HashTableintint&); // 在哈希表中查找元素
BOOL InsertHash(HashTable&Record); // 在哈希表中插入元素
BOOL DeleteHash(HashTable&Record); // 在哈希表中删除元素
int Hash(int); // 哈希函数
/*void main()
{ HashTable H; // 声明哈希表H
char chj=‘y‘;
int positionnk;
Record R;
BOOL temp;
InitialHash(H);
while(j!=‘n‘)
{
printf(“\n\t 哈 希 查 找 “);
printf(“\n\t**************************************“);
printf(“\n\t* 1-----建 表 *“);
printf(“\n\t* 2-----显 示 *“);
printf(“\n\t* 3-----查 找 *“);
printf(“\n\t* 4-----插 入 *“);
printf(“\n\t* 5-----删 除 *“);
printf(“\n\t* 0-----退 出 *“);
printf(“\n\t**************************************“);
printf(“\n\n\t请输入菜单号:“);
scanf(“ %c“&ch); // 输入操作选项
switch(ch)
{
case ‘1‘:printf(“\n请输入元素个数(<10): “);
scanf(“%d“&n);
printf(“\n“);
for( k=0;k { printf(“请输入第%3d个整数: “k+1);
scanf(“%d“&R.keynum); // 输入要插入的记录
temp=InsertHash(HR);
};
break;
case ‘2‘:if(H.count) // 哈希表不空
PrintHash(H);
else
printf(“\n散列表为空表!\n“);
break;
case ‘3‘:if(!H.count)
printf(“\n散列表为空表!\n“); // 哈希表空
else
{ printf(“\n请你输入要查找元素(int) :“);
scanf(“%d“&R.keynum); // 输入待查记录的关键字
temp=SearchHash(HR.keynumposition);
// temp=True:记录查找成功;temp=False:没有找到待查记录
if(temp)
printf(“\n查找成功该元素位置是 %d\n“position);
else
printf(“\n本散列表没有该元素!\n“);
}
break;
case ‘4‘:if(H.count==MAXSIZE) // 哈希表已满
{ printf(“\n散列表已经满!\n“);
break; }
printf(“\n请输入要插入元素(int):“);
scanf(“%d“&R.keynum); // 输入要插入的记录
temp=InsertHash(HR);
// temp=True:记录插入成功;
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 6634 2009-05-29 13:36 哈希查找\Hash.cpp
文件 2067 2009-05-29 15:10 哈希查找\Hash.h
文件 3597 2009-05-29 13:17 哈希查找\ReadMe.txt
文件 1078 2009-05-29 13:17 哈希查找\res\哈希查找.ico
文件 400 2009-05-29 13:17 哈希查找\res\哈希查找.rc2
文件 1790 2009-05-29 13:54 哈希查找\resource.h
文件 210 2009-05-29 13:17 哈希查找\StdAfx.cpp
文件 1054 2009-05-29 13:17 哈希查找\StdAfx.h
文件 37248 2009-05-29 13:54 哈希查找\哈希查找.aps
文件 2747 2009-05-29 15:25 哈希查找\哈希查找.clw
文件 2025 2009-05-29 13:17 哈希查找\哈希查找.cpp
文件 4209 2009-05-29 13:17 哈希查找\哈希查找.dsp
文件 524 2009-05-29 13:17 哈希查找\哈希查找.dsw
文件 1292 2009-05-29 13:17 哈希查找\哈希查找.h
文件 41984 2009-05-29 15:25 哈希查找\哈希查找.ncb
文件 48640 2009-05-29 15:25 哈希查找\哈希查找.opt
文件 546 2009-05-29 15:24 哈希查找\哈希查找.plg
文件 7687 2009-05-29 13:54 哈希查找\哈希查找.rc
文件 8740 2009-05-29 15:24 哈希查找\哈希查找Dlg.cpp
文件 1731 2009-05-29 13:48 哈希查找\哈希查找Dlg.h
目录 0 2009-05-29 16:01 哈希查找\res
目录 0 2009-05-29 16:01 哈希查找
----------- --------- ---------- ----- ----
174203 22
评论
共有 条评论