首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
用C语言或PASCAL编写一用链接表(Linked List)解决冲突的哈希表插入函数。
用C语言或PASCAL编写一用链接表(Linked List)解决冲突的哈希表插入函数。
admin
2016-03-29
35
问题
用C语言或PASCAL编写一用链接表(Linked List)解决冲突的哈希表插入函数。
选项
答案
本题仍用上面已定义的存储结构。首先计算关键字K的哈希地址,若该哈希地址的头指针为空,则直接插入;否则,先在该链表上查找,若查找失败,则插入链表;若查找成功,则不再插入。 typedef struct node{ keytype key; struct node*next; }HSNode*HSList; typedef struct node* HLK; void Insert(HLK HT[],keytype K){ //用链接表解决;中突的哈希表插入函数 i=H(K): //计算关键字K的哈希地址 if(HT[i]==null) //关键字K所在链表为空 {s=(HSNode’l:)malloc(sizeof(HSNode));s一>key=k;s->next=HT[i];HT[i]=s;} else{ //在链表中查询关键字K p=HT[i]; while(p&&p->key!=k)p=p->next; if(!p){ //链表中无关键字K,应该插入 s:(}tSNode *)malloc(sizeof(HSNode)): s一>next=HT[i];HT[i]=s; } //插入后成为哈希地址为i的链表中的第一个结点 } }
解析
转载请注明原文地址:https://kaotiyun.com/show/IhRi777K
本试题收录于:
计算机408题库学硕统考专业分类
0
计算机408
学硕统考专业
相关试题推荐
简述维新思想的主要内容及特点。
美国黑人民权运动在1963年达到高潮,25万黑人和白人在华盛顿林肯纪念堂集会,()发表《我有一个梦想》的演说,这次和平集会和示威标志着争取民权的运动日趋壮大。
与前两次工业革命相比,第三次科技革命在能源结构上的主要变化是()
1925年爆发的当时世界上罢工时间最长的一次斗争是()。
洋务派创办军事工业的方式是()。
(1)页面长度为1KB=210B,因此页内偏移地址占10位。主存大小为16KB=214B,所以物理地址占14位。0AC5H=0000101011000101B,除去后10位,得到页号为2,则查找页表可知物理块号为4,所以物理地址是0100101100
某系统中n个相互独立的生产者进程为一个消费者进程提供数据,假设每个生产者提供的数据写入各不相同的缓冲区,且生产者写缓冲区的速度比消费者读缓冲区的速度快,则缓冲区个数的最优值应为()。
四位运算器框图如下图所示,ALU为算术逻辑单元,A和B为三选一多路开关,预先已通过多路开关A的SW门向寄存器R1,R2送入数据如下:R1=0101,R2=1010。寄存器BR输出端接四个发光二极管进行显示。其运算过程依次如下:(1)R1
设某计算机的逻辑地址空间和物理地址空间均为64KB,按字节编址。若某进程最多需要6页(Page)数据存储空间,页的大小为1KB,操作系统采用固定分配局部置换策略为此进程分配4个页框(PageFrame)。在时刻260前的该进程访问情况见表B一2(访问位即使
已知一个带有表头结点的单链表,结点结构为:假设该链表只给出了头指针list。在不改变链表的前提下,请设计一个尽可能高效的算法,查找链表中倒数第k个位置上的结点(k为正整数)。若查找成功,算法输出该结点的data域的值,并返回1;否则,只返回0。要求:
随机试题
患者,男性,46岁。有心脏病病史,近来经常头痛乏力,又是晕倒,来院就诊检查心电图显示,心电图上P波与QRS波无关系,P波多于R波,心室率42次/分,不考虑为
各国普遍采取的反倾销措施是()
A.听鼻线B.听眦线C.听眶线D.听眉线E.听口线与解剖学水平面平行的定位线是
凭借借款人偿债能力的主要指标不包括()。
使用最早、最广泛的一种建筑结构型式是()。
甲企业与乙商户签订房屋租赁合同,将一幢原值2500万元的写字楼租给乙商户使用。合同规定因乙租期为2年,可在租赁开始时有1个月的免收租金期限。按照合同约定,该写字楼月租金20万元(不合增值税),写字楼于2016年12月30日交付承租方,并规定了甲自2017年
人格障碍是后天教养的结果。()(2015.山东)
请从所给的四个选项中,选择最合适的一个填入问号处,使之呈现一定的规律性:
收复失地战争
以下程序运行时若从键盘输入:102030<回车>,输出结果是【】。#include<stdio.h>main(){inti=0,j=0,k=0;scanf("%d%*d%d",&i,&j,&k);pri
最新回复
(
0
)