9、链地址哈希表类
//链地址法哈希表类class HashTableLink{public:HashTableLink(); //构造函数,初始化开散列表~HashTableLink(); //析构函数,释放同义词子表结点int Insert(datatype fword); //插入Node* Search(string word); //查找void Print(); //输出private:int H(int k); //散列函数Node* ht[MaxSize]; //开散列表};//构造函数HashTableLink::HashTableLink(){for (int i = 0; i < MaxSize; i++)ht[i] = NULL; //链式存储结构指针置空}//析构函数,释放空间HashTableLink :: ~HashTableLink(){Node* p = NULL, * q = NULL;for (int i = 0; i < MaxSize; i++){p = ht[i];q = p; //用来储存pwhile (p != NULL){ //p非空p = p->next; //p后移delete q; //删除qq = p;} //while} //for}//除留余数法-散列函数int HashTableLink::H(int k){return k % MaxSize;}//输出到屏幕和文本文件outfile6.txtvoid HashTableLink::Print() {system("cls"); //清屏ofstream fout; //文件写操作 内存写入存储设备fout.open("outfile6.txt"); //打开文件fout << "单词总数为:" << sum << endl;fout << "词频" << "\t" << "单词" << endl;for (int i = 0; i < sum; i++) {fout << WF[i].frequency << "\t" << WF[i].word << endl;cout << WF[i].frequency << "\t" <
10、哈希表菜单
//哈希表菜单void HashMenu(){while(true){system("cls"); //清屏cout << "*******************基于不同策略的英文单词的词频统计和检索系统*******************" << endl;cout << "---哈希表---" << endl;cout << "1.开放地址法哈希查找" << endl;cout << "2.链地址法哈希查找" << endl;cout << "3.返回上一级" << endl;cout << "请按相应的数字键进行选择:" << endl;int n;cin >> n;switch (n){case 1 : OpenHashLocate(); //开放地址法哈希查找break;case 2 : LinkHashLocate(); //链地址法哈希查找break;case 3 : return; //退出函数default: cout << "输入的不是有效符号,请重新输入" << endl; system("pause");} //switch} //whilereturn;}//开放地址法哈希查找菜单void OpenHashLocateMenu(){HashTable HT;for (int i = 0; i < sum; i++)HT.Insert(WF[i]); //把数据插入到哈希表中double bulkfactor = sum / MaxSize; //装填因子system("cls"); //清屏cout << "*******************基于不同策略的英文单词的词频统计和检索系统*******************" << endl;cout << "---开放地址单词查找---" << endl;cout << "请输入要查找的单词:";string word;cin >> word;auto start = system_clock::now(); //开始时间int i = HT.Search(word); //获取散列地址duration
- vue双向绑定的原理及实现双向绑定MVVM源码分析
- vue中如何简单使用vue.draggable组件实现拖拽功能
- 三 用Abp实现短信验证码免密登录:Vue网页端开发
- 使用Yeoman实现vue项目结构创建
- android framework 系统native c/c++源码查看跳转工具
- angular ui-router:简单的单页面嵌套路由的实现过程
- 提升生鲜B2B电商系统的效率与品质,实现采购与销售的双赢
- 来自本科生的暴击:清华开源「天授」强化学习平台,纯PyTorch实现
- 支持单选、多选 Android本地历史记录、及产品标签实现(附源码)(使用
- micropython 驱动是如何实现的_ESP8266使用Micropytho