package com.guge.test; /** * Created by guugangzhu on 2017/5/25. */ public class Hash { private HashItem[] hashArray; private int arraySize; private HashItem nonItem; public Hash(int size){ arraySize=size; hashArray=new HashItem[arraySize]; nonItem=new HashItem(-1); } public void displayTable(){ System.out.print("Table: "); for (int i = 0; i <hashArray.length ; i++) { if(hashArray[i]!=null) System.out.print(hashArray[i].getKey()+" "); else System.out.print("**"); System.out.println("**"); } } public int hashFunc(int key){ return key%arraySize; } public void insert(HashItem item){ int key=item.getKey(); int hashVal=hashFunc(key); while (hashArray[hashVal]!=null&&hashArray[hashVal].getKey()!=-1){ hashVal++; hashVal%=arraySize; } hashArray[hashVal]=item; } public HashItem delete(int key){ int hashVal=hashFunc(key); while (hashArray[hashVal]!=null){ if(hashArray[hashVal].getKey()==key){ HashItem temp=hashArray[hashVal]; hashArray[hashVal]=nonItem; return temp; } hashVal++; hashVal%=arraySize; } return null; } public HashItem find(int key){ int hashVal=hashFunc(key); while (hashArray[hashVal]!=null){ if(hashArray[hashVal].getKey()==key){ return hashArray[hashVal]; } hashVal++; hashVal%=arraySize; } return null; } } class HashItem{ private int iData; public HashItem(int data){ this.iData=data; } public int getKey(){ return iData; } }
Java哈希表
最新推荐文章于 2024-03-26 11:16:17 发布