thinking:1、用乙個陣列儲存出現過的數字,剛開下下標為1(可以思考為什麼下標剛開始不能為0)。
2、相同數對乙個數取mod的值是固定的,通過這麼mod出來的值作為關鍵字去查詢是否存在。
如先插入6 15 20 15,6 mod 7= 6,然後通過6查詢之前是否有mod 後結果是 6 的數,沒有,則把其下標也就是1 作為 head[6]
然後插入15 通過 15 mod 7 = 6 ,然後通過6查詢之前是否有mod 後結果是 6 的 數,存在,則u為其下標,判斷這兩個同mod 7 結果為6的數是否相等,
如果不想等,u=next[u],也就是找前乙個mod 7 結果為6的數來判新加入的數是否與之前的數重複,此時u=next[u]的結果為0,則不存在,添入,
把下標為2作為head[6]。
然後到插入20 20 mod 7 =6 ,然後通過找到 head[6] 的下標也就是 2 然後判斷這兩個數是否相等,然後不想等找next[6]也就是15 判斷仍然不想等,則又下乙個u=next[u],
20 不等於6 則把20插入,然後到15 15 mod 7 = 6 u=head[6] 判斷15不等於20 則找下乙個 u=next[u] , 此時15=15 返回值為0,也就是不能新增。
#include using namespace std;
int head[500];
int next[500];
int st[500];
int aa;
int insert(int s)
next[s]=head[h];
head[h]=s;
return 1;
} int main()else
}}
開始下標不能為0的原因是,如果為0了,下乙個與其相同的值找到的下標是0,則不經過while迴圈直接插入
思考為什麼next[s]=head[u] 而不是next[s]=u;
使用Hash直接登入Windows 簡單分析
由於msf用到exploit windows smb p ec模組,所以猜想和pstool裡面的p ec.exe應該有些許聯絡 檢視說明,p ec.exe可以進行遠端連線得到乙個互動式cmdshell,c documents and settings administrator 桌p ec.exe ...
hash 雜湊的簡單入門
演算法競賽中的雜湊是往往是種種概率 玄學但是又賊雞兒快方便的神奇演算法 本質是通過對目標資料建立唯一對映進行縮小資料規模的權值判斷,常常可以亂搞一些題目 對迴圈陣列的hash 解題思路 對每個六元組求最小表示,然後用乘積與和對應的雙hash對映入乙個鍊錶 再判斷即可 字串雜湊 子串hash模板題 最...
hash表的使用
事實上不管使用陣列還是鍊錶儲存資料都會存在較大缺陷,當你使用陣列時,難於刪除和新增資料 當你使用鍊錶時難於查詢資料 因此hash表綜合了兩者的優缺點,使的查詢和新增等操作既不至於複雜也不至於簡單。因此hash表的原理可以是陣列中存鍊錶,鍊錶上存資料 簡單的建立方式如下 public class hn...