java 陣列實現雜湊表的構建,查詢,插入,刪除

2021-07-13 06:07:49 字數 1374 閱讀 6644

以下**以陣列儲存方式實現了雜湊表的建立,查詢,插入,刪除等操作,雜湊函式採用除留餘數法,使用開放定址法中的線性探查法處理衝突

public

class hashsearch

}public

intcollision(int d,int hashsize)

public

inthashfunc(int key,int hashsize)

/*hashtable的查詢*/

public

inthashsearch(nodehashtable,int x)

if(hashtable[addr]!=null && hashtable[addr].key==x) //查詢成功

return addr;

else

return -addr; //查詢失敗

}/*雜湊表的插入*/

public

inthashinsert(nodehashtable,int x)

/*雜湊表的建立*/

public

void

createhash(nodehashtable,int items)

for(i=0;i//依次向雜湊表中插入元素}}

/*雜湊表的刪除*/

public

inthashdelete(nodehashtable,int x)

return

0; }

/*雜湊表的顯示*/

public

void

displayhash(nodehashtable)

system.out.print("\n關鍵字: ");

for(i=0;iif(hashtable[i]!=null && hashtable[i].delflag==false)

else system.out.print(","+" ");}}

public

static

void

main(string args) ;

node hashtable=new node[7];

hashsearch hs=new hashsearch();

hs.createhash(hashtable, items);

hs.displayhash(hashtable);

int addr;

addr=hs.hashsearch(hashtable, 59);

system.out.println("\n"+addr);

hs.hashdelete(hashtable, 34);

hs.displayhash(hashtable);

}}

鍊錶實現的雜湊表(Java版)

public class separatechaininghashtable suppresswarnings unchecked public separatechaininghashtable int size make the hash table logically empty public...

雜湊表(雜湊表)的實現

雜湊函式直接用key size的形式,size為雜湊表的大小。衝突處理採用平方探測法,為保證可以探測到整個雜湊表空間,雜湊表大小設定為4k 3形式的素數。當雜湊表中的元素過多時會造成效能下降,這時應該倍增雜湊表的大小,重新計算原來雜湊表中每個元素在新的雜湊表中的位置。雜湊表的實現 hashtable...

陣列 鍊錶 實現簡單的雜湊

package com.cai.math 雜湊雜湊 之 陣列 鍊錶 這裡將要實現的部分 雜湊雜湊是一種資料結構 public class hashtablinked 陣列鍊錶 用取模的方法,存放資料到陣列對應的位置 class arraylinked 實現增,查 public static void...