上代码:
package com.itany.quadraticprobing;
import java.util.LinkedList;
import java.util.List;
//使用平方探测的散列表 来解决散列时的冲突问题
public class QuadraticProbingHashTable<T>
{
private static final int DEFAULT_TABLE_SIZE=11;
private HashEntry<T>[] array;
private int currentSize;//the number of occupied cells
//这个类用来装数据 还有一些标记 来标记是否active 也就是被删除(不是真被删除)所以需要一个类来进行封装
private static class HashEntry<T>
{
private T element;//the element
private boolean isActive;//false if marked deleted
public HashEntry(T element)
{
this(element,true);
}
public HashEntry(T element,boolean i)
{
this.element=element;
isActive=i;
}
}
public QuadraticProbingHashTable()
{
this(DEFAULT_TABLE_SIZE);
}
public QuadraticProbingHashTable(int size)
{
allocateArray(size);