| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 8083 人关注过本帖
标题:Hash应用 - 哈希(散列)表
只看楼主 加入收藏
live41
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:67
帖 子:12442
专家分:0
注 册:2004-7-22
收藏
得分:0 
我也是没看懂这句英文,楼主可能时差问题很晚才上来。
2004-11-05 22:44
dicklin
Rank: 1
等 级:新手上路
帖 子:23
专家分:0
注 册:2004-11-1
收藏
得分:0 

不好意思阿!斑主你回来了!!我等你一个星期了!!真的不好意思又麻烦你!

p值随便选择个素数然后把答案弄到ASCII码!!!!!!!

2004-11-06 19:56
dicklin
Rank: 1
等 级:新手上路
帖 子:23
专家分:0
注 册:2004-11-1
收藏
得分:0 

刚才问了问老师原来 P的值是你自己任算一个质数(请注意一定是质数,不是素数)

之后C的意思是你随便输入一个数字电脑自动帮你转换成ASCII code 之后放到公式里面进行计算!!

大概意思就是这样!!希望有帮助!!!因为题目我自己都有点混乱!不好意思!

2004-11-06 20:10
Tear
Rank: 1
等 级:新手上路
帖 子:17
专家分:0
注 册:2004-11-6
收藏
得分:0 

自己的题自己做嘛,逃到外国还要上这里问作业,差劲啊!


2004-11-06 20:36
Tear
Rank: 1
等 级:新手上路
帖 子:17
专家分:0
注 册:2004-11-6
收藏
得分:0 
版主不要随便帮别人做作业!

2004-11-06 20:38
dicklin
Rank: 1
等 级:新手上路
帖 子:23
专家分:0
注 册:2004-11-1
收藏
得分:0 
以下是引用Tear在2004-11-06 20:36:20的发言:

自己的题自己做嘛,逃到外国还要上这里问作业,差劲啊!

这位大哥!如果我自己之前学过,加上有点基础,我一定不会来问!难道你什么懂吗?

我相信我的电气化自动控制不会比你差吧!!编成的东西我才刚刚接触!

你不帮我没有关系,但是希望尊重别人的发问权!

2004-11-06 20:48
Dream
Rank: 1
等 级:新手上路
帖 子:33
专家分:0
注 册:2004-11-5
收藏
得分:0 

这个版主确实不错!

在什么地方都能看见她的回贴!我也支持!!!


!..我鄙视浮躁的人..! 浮躁的人容易问: 我到底该学什么? 别问,学就对了! 浮躁的人容易问: JS有前途吗? 建议你去抢银行! 浮躁的人容易问: 我要中问版,我英文不行! 不行?学呀! 浮躁的人分两种: 只观望而不学的人; 只学而不坚持的人;
2004-11-06 20:52
dicklin
Rank: 1
等 级:新手上路
帖 子:23
专家分:0
注 册:2004-11-1
收藏
得分:0 
今天星期6图书馆中午1就关门啦!!!我要走啦!!谢谢斑主的关心与帮忙!如果本版有自动化模块版面我一定努力帮忙!!!
2004-11-06 21:02
三少爷
Rank: 1
等 级:新手上路
帖 子:192
专家分:0
注 册:2004-4-29
收藏
得分:0 

那就是输入一个p,一个c,再一个string列表,通过哈希表输出个什么来喽

#include<iostream> #include<string> #include<fstream> using namespace std;

const int HashMaxSize = 350; //hash表大小 const int ItemsAmount = 425; //数据数量

void Input(string data[]) { ifstream hashdata("e:\\data.txt"); //打开data.txt for(int i=0; i<ItemsAmount; i++) { hashdata>>data[i]; } }

int Hash(string data,int m) //hashing函数 { unsigned int h=0; //类加变量 for(int i=0; i<data.length(); i++) { h<<=3; //循环一次移3位 h+=(int)data[i]; //把data[i]的int值累加到h上 } return h%m; }

struct LNode{ //单结点结构 string data; LNode* next; };

class HashList { private: LNode* HT[HashMaxSize]; //指针数组

public: void InitHashList(); //初始化hash表 int Insert(HashList &hl,string data[]); //插入数据 };

void HashList::InitHashList() { for(int i=0; i<HashMaxSize; i++) HT[i]=NULL; //把每个指针数组的头结点都赋初值 }

int HashList::Insert(HashList &hl,string data[]) { int key[ItemsAmount]; for(int i=0; i<ItemsAmount; i++) { key[i] = Hash(data[i],HashMaxSize); LNode* p=new LNode; if(p==NULL) return 0; p->data=data[i]; p->next=HT[key[i]]; HT[key[i]]=p; } return 1; }

void main() { HashList hl; //实例化一个hash表 hl.InitHashList(); //初始化

string data[ItemsAmount]; //定义读文件储存的string Input(data); //把data.txt的数据传给data数组变量 if(hl.Insert(hl,data)==0) //从data插入到hash exit(1); //若失败就退出程序 }

不过这种程序偶就是喜欢啊虽然目前还没看懂


2004-11-06 21:02
dicklin
Rank: 1
等 级:新手上路
帖 子:23
专家分:0
注 册:2004-11-1
收藏
得分:0 
3少爷你也参加讨论阿~~哈哈~~谢谢!!等待斑主的消息!!不过他难得放假回家还要他来帮我想问题!真得不太好意思阿!晕死!
2004-11-06 21:07
快速回复:Hash应用 - 哈希(散列)表
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.041914 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved