网页资讯视频图片知道文库贴吧地图采购
进入贴吧全吧搜索

 
 
 
日一二三四五六
       
       
       
       
       
       

签到排名:今日本吧第个签到,

本吧因你更精彩,明天继续来努力!

本吧签到人数:0

一键签到
成为超级会员,使用一键签到
一键签到
本月漏签0次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行补签。
连续签到:天  累计签到:天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
11月18日漏签0天
数据结构吧 关注:104,546贴子:883,652
  • 看贴

  • 图片

  • 吧主推荐

  • 视频

  • 游戏

  • 1回复贴,共1页
<<返回数据结构吧
>0< 加载中...

关于哈希表的出入记录算法,不太会,不知道哪里错了。求助攻

  • 只看楼主
  • 收藏

  • 回复
  • 犹豫一时
  • 四项式
    4
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
#include "iostream.h"
typedef int KeyType;
typedef struct{
KeyType key;
//…….;
}ElemType;
typedef int Status;
typedef struct {
ElemType *elem;
int count; // 当前数据元素个数
int sizeindex; // hashsize[sizeindex]为当前容量
} HashTable;
#define SUCCESS 1
#define UNSUCCESS 0
#define DUPLICATE -1
void creatHashTable(HashTable &H) {
int i;
H.elem=new ElemType[11];
H.sizeindex=11;
H.count=0;
for( i=0; i<11; i++)
H.elem[i].key=0;
for( i=0; i<9; i++)
cin>>H.elem[i].key;
H.count =9;
}
Status SearchHash (HashTable H, KeyType K,int &P, int &c) {
// 在开放定址哈希表H中查找关键码为K的记录
P=K%11; // 求得哈希地址
while ( H.elem[P].key != 0 &&
K!= H.elem[P].key) {
P=(P+1)%11; c++; // 求得下一探查地址
}
if (K== H.elem[P].key) return SUCCESS;
// 查找成功,返回待查数据元素位置 p
else return UNSUCCESS;
} // SearchHash
//插入记录的函数
insert(HashTable H, KeyType K,int &P)
{
int flag,e;
flag=SearchHash (HashTable H, KeyType K,int &P);
if(!flag)
H.elem[P]=e;
}
void main( ) {
HashTable H;
int key,P,c=0;
int flag;
creatHashTable (H);
cout<<"input key:";
cin>>key;
flag= SearchHash(H, key,P,c);
if(flag)
cout<<"SUCCESS"<<P<<c;
else cout<<"UNSUCESS"<<c;
}


  • 犹豫一时
  • 四项式
    4
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
//插入记录的函数
insert(HashTable H, KeyType K,int &P)
{
int flag,e;
flag=SearchHash (HashTable H, KeyType K,int &P);
if(!flag)
H.elem[P]=e;
}
这一段哪里错了???


登录百度账号

扫二维码下载贴吧客户端

下载贴吧APP
看高清直播、视频!
  • 贴吧页面意见反馈
  • 违规贴吧举报反馈通道
  • 贴吧违规信息处理公示
  • 1回复贴,共1页
<<返回数据结构吧
分享到:
©2025 Baidu贴吧协议|隐私政策|吧主制度|意见反馈|网络谣言警示