#include
using
namespace std;
bool iffind=
false
;//全域性變數
template
<
class
t>
struct hashnode};
template
<
class
t>
class
hashtable
//雜湊錶類
;template
<
class
t>
hashtable
::hashtable
(int thedivisor,t& initial)
dsize=0;
}template
<
class
t>
bool hashtable
::empty
(int pos)
//int length()
template
<
class
t>
int hashtable
::length
(int pos)
// cout<
}template
<
class
t>
hashnode
* hashtable
::find
(t& theelement)
while
(curnode-
>next!=
null
&&curnode-
>next-
>element
//遍歷該鍊錶
if(curnode-
>next==
null
||curnode-
>next-
>element >theelement)
//找不到
else
}else
}template
<
class
t>
void hashtable
::search
(t& theelement)
template
<
class
t>
void hashtable
::insert
(t& theelement)
curnode-
>next=
new hashnode
(theelement,curnode-
>next)
; dsize++;}
template
<
class
t>
void hashtable
::erase
(t & theelement)
dsize--
; hashnode
* erasenode=curnode-
>next;
// cout<
if(curnode-
>next-
>next!=
null
) curnode-
>next=curnode-
>next-
>next ;
else
curnode-
>next=
null
;delete erasenode;
cout<<
length
(pos)
<
}template
<
class
t>
void hashtable
::clear()
delete table[i]
->next;}}
intmain()
hashchain.
clear()
;return0;
}
#include
using
namespace std;
template
<
class
t>
class
hashtable
//雜湊錶類};
template
<
class
t>
hashtable
::hashtable
(int thedivisor)
dsize=0;
}template
<
class
t>
int hashtable
::find
(t& theelement)
while
(i!=pos)
;//是否回到起始桶
return i;
//表滿
}template
<
class
t>
t* hashtable
::search
(t& theelement)
// cout/cout<
cout<
return table[index];}
template
<
class
t>
int hashtable
::insert
(t& theelement)
else
return-1
;}template
<
class
t>
void hashtable
::erase
(t & theelement)
i=(i+1
)%divisor;
} cout<
} dsize--;}
intmain()
else
if(op==1)
hashlist.
search
(x);
//cout
hashlist.
erase
(x);
} hashlist.
clear()
;return0;
}
線性開型定址實現的最大難點就是刪除函式: 雜湊表(開雜湊)
hash table2.h pragma once include define hashmaxsize 1000 typedef int keytype typedef int valtype typedef size t hashfunc keytype key typedef struct h...
雜湊表 開雜湊
開雜湊很簡單。asl的計算忘了,找了兩道題都沒算對,這才是我不寫的真正原因 裡是裝13用的 include using namespace std 雜湊表 雜湊表 hash table,也叫雜湊表 是根據關鍵碼值 key value 而直接進行訪問的資料結構。也就是說,它通過把關 鍵碼值對映到表中乙...
雜湊表 開雜湊
開雜湊 首先對關鍵碼集合用雜湊函式計算雜湊位址,具有相同位址的關鍵碼歸於同一子集合,每乙個子集合稱為乙個桶,各個桶中的元素通過乙個單鏈表鏈結起來,各鍊錶的頭結點儲存在雜湊表中。負載因子a不超過0.5 如果超出必須考慮增容 struct hashbucknode 結點 hashbucknode,pha...