哈希链式解决冲突错误

SKATE11 2012-09-05 11:15:15
运行时错误 大家帮我看看哪出问题了 我找了好久都没找到
#include<iostream>
#include <cstdlib>
using namespace std;
struct link
{
int data;
link *next;
};
class linkhash
{
public:
link lk[10];
public:
linkhash()
{
for(int i=0;i<10;i++)
{
lk[i].data=0;
lk[i].data=NULL;
}
}
void setlink(int num)//哈希存储
{
link *p;
link *q;
int n;
n=num%10;
if(lk[n].data==0)
{
lk[n].data=num;

}
else
{
p=new link;
if(p==NULL)
exit(1);
q=&lk[n];
while(q->next!=NULL)
q=q->next;
p->data=num;
p->next=NULL;
q->next=p;
q=p;
}
}

bool seach(int n)
{
int flag=n%10;
if(lk[flag].data==n)
return 1;
else
{
link *qq;
qq=lk[flag].next;
while(qq!=NULL)
{
if(qq->data==n)
return 1;
qq=qq->next;
}

}
return 0;
}
};
int main()
{
linkhash lkhs;
for(int i=0;i<10;i++)
{
lkhs.setlink(rand()%100);
cout<<lkhs.lk[i].data<<" ";
}
cout<<endl;
if(lkhs.seach(41))
cout<<"the number which you seach was int the table"<<endl;
else
cout<<"seach Failure"<<endl;
return 0;
}
...全文
92 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
shangyangi 2012-09-05
  • 打赏
  • 举报
回复
吃一堑长一智!!!!!!!!!!
SKATE11 2012-09-05
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]

for(int i=0;i<10;i++)
{
lk[i].data=0;
lk[i].next=NULL;
}
[/Quote]
谢谢了 就是这 我太马虎了
npuhuxl 2012-09-05
  • 打赏
  • 举报
回复
for(int i=0;i<10;i++)
{
lk[i].data=0;
lk[i].next=NULL;
}

64,637

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧