• 大小: 30KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-06-01
  • 语言: 其他
  • 标签:

资源简介

运用数据结构和算法中的哈希算法,用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


评论

共有 条评论

相关资源