Hash表: http://www.cnblogs.com/dolphin0520/archive/2012/09/28/2700000.html
java实现:
package test;
public class HashTable {
private HashNode hashNode[] = new HashNode[14];
public HashTable() {
for(int i=0; i<14; i++) {
hashNode[i] = new HashNode();
}
}
public static void main(String[] args) {
HashTable hashTable = new HashTable();
int a[] = { 23, 12, 14, 2, 3, 5 };
for (int i = 0; i < a.length; i++) {
hashTable.insert(a[i]);
}
for (int i = 0; i < a.length; i++) {
hashTable.find(a[i]);
}
}
private void find(int key) {
int address = getAddress(key);
while(hashNode[address].isNull != 0 && hashNode[address].data != key && address<14) {
address++;
}
System.out.println(hashNode[address].data);
}
private int getAddress(int key) {
return key % 11;
}
private int insert(int key) {
int address = getAddress(key);
if (hashNode[address].isNull == 0) {
hashNode[address].data = key;
hashNode[address].isNull = 1;
} else {
while (hashNode[address].isNull == 1 && address < 14) {
address++;
}
if (address == 13) {
return -1;
}
hashNode[address].data = key;
hashNode[address].isNull = 1;
}
return 0;
}
void init() {
for (int i = 0; i < 14; i++) {
hashNode[i].isNull = 0;
}
}
}
class HashNode {
public int data; // 存储值
public int isNull;// 是否为空
public HashNode() {
this.data = 0;
this.isNull = 0;
}
}