//在哈希表中插入数据 publicvoidinsert(DataItem item){ intkey = item.getKey();// 获取数据的键值 inthashVal = hashFunc(key);// 计算其哈希值 while(hashArray[hashVal] !=null&& hashArray[hashVal].getKey() != -1){ ++hashVal;// 插入位置被占,线性探测下一位置 hashVal %= arraySize;//...
这是数据结构课程作业,用二次探测再散列法解决冲突建立哈希表并查找 从键盘读入 待查找 的权重数值,以除留余数法为哈希函数,二次探测再散列法解决冲突建立哈希表,基于哈希算法从数组中查找相应的记录,计算相应的查找时间,并在屏幕上输出显示。 (0)踩踩(0) ...
//在哈希表中插入数据 publicvoidinsert(DataItem item){ intkey = item.getKey();// 获取数据的键值 inthashVal = hashFunc(key);// 计算其哈希值 while(hashArray[hashVal] !=null&& hashArray[hashVal].getKey() != -1){ ++hashVal;// 插入位置被占,线性探测下一位置 hashVal %= arraySize;//...
哈希表-开放地址法之线性探测代码(JAVA) importjava.io.*;classDataItem{// 数据privateintiData;// data item (key)publicDataItem(intii){iData=ii;}publicintgetKey(){returniData;}}classHashTable{// 数组实现的哈希表,开放地址法之线性探测privateDataItem[]hashArray;// 存放数据的数组privateintarraySize;...
int hashVal = hashFunc(key); // 计算其哈希值 while(hashArray[hashVal] != null && hashArray[hashVal].getKey() != -1){ ++hashVal; // 插入位置被占,线性探测下一位置 hashVal %= arraySize; // 不让超过数组的大小 } hashArray[hashVal] = item; // 找到空位后插入 ...
classHashTable{//数组实现的哈希表,开放地址法之线性探测 privateDataItem[] hashArray;//存放数据的数组 privateintarraySize; privateDataItem nonItem;//用作删除标志 publicHashTable(intsize) {//构造函数 arraySize = size; hashArray =newDataItem[arraySize]; ...