永发信息网

哈希拉链法(数据结构与算法)C/C++

答案:2  悬赏:10  手机版
解决时间 2021-03-26 04:15
哈希拉链法(数据结构与算法)C/C++
最佳答案
#include
#include
#include int const INDEXBOX=7;
int const MAXNUM=13;
void creat_table(int);
void print_data(int); struct node
{
int value;
struct node *next;
}; typedef struct node node;
typedef node *link; node index_table[INDEXBOX]; void main()
{
int data[MAXNUM];
srand(time(NULL));
for (int i=0; i {
index_table[i].value=-1;
index_table[i].next=NULL;
}
printf("Former Data:\n");
for (i=0; i {
data[i]=rand()%30+1;
printf("[%2d] ",data[i]);
if ((i+1)%8==0) putchar('\n');
}
putchar('\n');
printf("Hash List:\n");
for (i=0; i creat_table(data[i]);
for (i=0; i print_data(i);
putchar('\n');
} void creat_table(int value)
{
link new_node;
link current_node;
int hash;
hash=value%INDEXBOX;
new_node=(link)malloc(sizeof(node));
current_node=(link)malloc(sizeof(node));
new_node->value=value;
new_node->next=NULL;
*current_node=index_table[hash];
if (current_node->next==NULL)
index_table[hash].next=new_node;
else
while (current_node->next!=NULL)
current_node=current_node->next;
current_node->next=new_node;
} void print_data(int value)
{
link head;
int i=0;
head=index_table[value].next;
printf("%2d\t",value);
while (head!=NULL)
{
printf("[%2d]",head->value);
printf("-");
i++;
if (i%8==7)
putchar('\n');
head=head->next;
}
printf("\b\n");
}
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
下载小苹果广场舞
哈弗h6运动版中途灭火后怎样重新启动
我们的战士()其实生命,()放弃阵地。
关于车站离别父母的背影700字作文
单选题常温下将由A、B(B为烯烃)两种气态烃
“比福多一”打三个数字多少?
static变量可以被修改吗?
物理单位转换8L水等于多少牛
手机用用就漫,怎么回事
今天听到有人说无硅洗发水,所以我想问下无硅
普济宫地址在什么地方,想过去办事
let,s=letus什么意思?
有谁刚工作两个月就辞职的吗?
七七年蛇与猴在2O1七年能否共事
42个百分之一是0.42.______.
推荐资讯
去台湾签证用钛金卡可以吗
为什么我到单位快一年 人际关系依然冷漠
夕颜花是?花语是?有什么传说?
CLANNAD的OP是
驾友学车怎么样 驾友学车好不好
芥未面是个什么食物
梦见有孙子了,还对着我笑,、梦见孙子刚出生
西安大明宫遗址公园是现代重建的吗?
七彩云南欢乐世界
191.168.1.1打不开,请问为什么?
请问《五三》这本资料书的全称是什么?是《五
送什么礼物给男生可以一直都带在身边。
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?