package lirui.find;
import java.util.LinkedList;
/**
* Created by lirui on 14-8-13.
* 用拉链法实现哈希算法的运算
*/
public class MyHashSearch2 {
public static final int SIZE = 10;
public static MyHashElement[] hashtable = new MyHashElement[SIZE];
// 记录hash表中的数量。
public static int count = 0;
// 哈希函数 h(key)= key mod p
public static int hashFunction(int key, int p) {
return key % p;
}
// 将key插入到哈希表中
public static void insertHT(MyHashElement[] hashTable,int key, int p) {
int adr;
adr = hashFunction(key, p);
// 当没有冲突发生的时候,说明还没有存过。
if (hashTable[adr] == null){
hashTable[adr] = new MyHashElement();
hashTable[adr].setKey(new LinkedList<Integer>());
hashTable[adr].getKey().add(key);
} else {
// 当发生冲突,说明已经有链表了,则直接存入。
hashTable[adr