Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <vector>
- #include <conio.h>
- using namespace std;
- int main() {
- int n = 29;
- vector<int *> buckets(n, NULL);
- auto hp = [](int k) { return k % 29; };
- int c1 = 0;
- int c2 = 1;
- auto hp2 = [=](int k)
- {
- return 1 + ((k % (n - 1)) % n);
- };
- auto h = [=](int k, int i)
- {
- return (hp(k) + c1*i + c2*i*i) % n;
- };
- auto doble = [=](int k, int i)
- {/*hp2(k) = 1 + (k % (n - 1));*/
- return (hp(k) + i*hp2(k));
- };
- vector<int> nums = { 6, 34, 67, 92, 96, 8, 53, 5, 3, 2 };
- for (auto k : nums) {
- for (int i = 0; i < n; ++i) {
- auto index = doble(k, i);
- cout << index << " ";
- if (buckets[index] == nullptr) {
- buckets[index] = new int;
- (*buckets[index]) = k;
- break;
- }
- }
- cout << endl;
- }
- /*system("pause>0");*/
- getch();
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement