package Structure.Hash;
import java.util.Iterator;
import java.util.Vector;
import java.util.LinkedList;
/*Author: CPlusPlus小码农
*If any question,
*Please contact:
* http://daixiecplusplus.blog.163.com/
* QQ:1926742804
*/
public class Hash {
private Vector< LinkedList<String> > data_;
public final static int CHARTOINTER = 65;
public final static int CHARECTER_SIZE = 26;
public Hash()
{
data_ = new Vector< LinkedList<String> >(CHARECTER_SIZE);
for(int i = 0 ; i < CHARECTER_SIZE;++i)
{
data_.add(new LinkedList<String>());
}
}
public void Add(String value)
{
char first = value.charAt(0);
int num = first-CHARTOINTER;
data_.get(num).add(value);
}
public boolean Find(String s)
{
char first = s.charAt(0);
int num = first-CHARTOINTER;
LinkedList<String> list = data_.get(num);
Iterator<String> it = list.iterator();
while(it.hasNext())
{
if(it.next().equals(s)) return true;
}
return false;
}
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Hash hs = new Hash();
hs.Add("GA");
hs.Add("D");
hs.Add("G");
hs.Add("L");
hs.Add("A");
hs.Add("A1");
hs.Add("A3");
hs.Add("A4");
hs.Add("Z");
hs.Add("ZA");
System.out.println();
System.out.println(hs.Find("WC"));
System.out.println(hs.Find("D"));
}
}
Structure.Hash(通过数组和链表实现一个简单的Hash)
最新推荐文章于 2024-05-18 09:30:20 发布