c語言程式設計求字串的hash值雜湊值

2021-03-04 05:26:14 字數 981 閱讀 1817

1樓:兔子和小強

#include

int main()

printf("%llu", h);}

c語言hash函式有幾種

2樓:匿名使用者

#include #include //這裡我自己設計乙個hash演算法來快速查詢一堆數字中相等的數字,這也許是最接近原理的演算法了//乙個整數整除27後的來作為hash函式//定義乙個儲存實際資料的結構體節點struct data_node;//定義乙個結構體時hash表的一部分typedef struct hash_node;#define hash_size 27int do_hash(int num) //hash表來求餘數,這樣就可以了//初始化//新增數字//更新數字//刪除數字//查詢數字hash_node hashtable[hash_size]; //這裡申明乙個hashtable的陣列//初始化函式,需要做的事將key複製為null,將p指標指向null,返回乙個頭指標來指向這個hashtablevoid inithashtable(hash_node *hashtable)

else //如果不為空,則這個時候應該新增到連結串列末尾                if(tmp_p->next == null)                break;            tmp_p = tmp_p->next;        }

tmp_p->next = p;        p->count =1;        p->num = num;        p->next = null;    }    return 0;}//新增數字//將這個數字經過hash求出結果,然後再儲存到相應的連結串列中//返回真或者假就可以了int add_hash(hash_node *hashtable,int num)

int main()

3樓:匿名使用者

hash是可以針對具體問題自己設計的,所以答案是無數種

c語言字串陣列逆序問題,C語言字串陣列逆序問題

第乙個問題 字串陣列的長度不包括最後的 0 第二處問題 1 把 for i 0 str1 i 0 i 後面加上乙個分號 2 把for i 0 str1 i 0 i 後面的花括號去掉 3 再把 puts str1 前面的花括號去掉就可以了 程式如下 include stdio.h int main c...

c語言,關於字串

mark 這個分析了下還挺複雜 想想先 這樣子話幾乎是沒有辦法實現的。因為哪一些字元屬於子串是不確定的,big可能是乙個子串,igb可能是乙個子串,gba可能是乙個子串。不過當你確定你需要查的子串時,可以進行判定的。比如查詢這個字串裡有多少個 big 我這裡提供乙個思路參考。這是乙個字串 strin...

C語言字串陣列

不是的,printf裡 s是通過後面的name定址到該記憶體單元,然後從該記憶體單元開始讀取資料,知道 0 字元結束。所以會把你輸入的東西輸出 是的,但是 s的含義是,把從這個位址開始的內容當作ascii碼依次輸出來,直到碰到 0 就是一種機械的做法 比如 int a printf s a 會輸出a...