Please convert to C language //double hashing #include using namespace std; int digit(int a) { return to_string(a).length(); } void add_using_double_hashing(int hash[], int a) { //hash function h1(x)=x%10 //hash function h2(x)=digit(x) //for incrementing probing int k = a % 10; //double hashing int count = 1; while (true) { if (hash[k] == -1) { hash[k] = a; break; } //double hashing for incrementing prob length k = (k + count * digit(a)) % 10; count++; } } int main() { //set of input numbers vector arr{ 123, 124, 333, 4679, 983 }; //initialize the hash table //each entry of the hash table is a single entry int hash[10]; //size of hashtable is 10 //initialize with empty initially memset(hash, -1, sizeof(hash)); for (int a : arr) { //hashing add_using_double_hashing(hash, a); } cout << "---------using double hashing---------\n"; cout << "Hash table is:\n"; for (int i = 0; i < 10; i++) { if (hash[i] == -1) cout << i << "->" << "Empty" << endl; else cout << i << "->" << hash[i] << endl; } return 0; }
Please convert to C language
//double hashing
#include <bits/stdc++.h>
using namespace std;
int digit(int a)
{
return to_string(a).length();
}
void add_using_double_hashing(int hash[], int a)
{
//hash function h1(x)=x%10
//hash function h2(x)=digit(x)
//for incrementing probing
int k = a % 10;
//double hashing
int count = 1;
while (true) {
if (hash[k] == -1) {
hash[k] = a;
break;
}
//double hashing for incrementing prob length
k = (k + count * digit(a)) % 10;
count++;
}
}
int main()
{
//set of input numbers
//initialize the hash table
//each entry of the hash table is a single entry
int hash[10]; //size of hashtable is 10
//initialize with empty initially
memset(hash, -1, sizeof(hash));
for (int a : arr) {
//hashing
add_using_double_hashing(hash, a);
}
cout << "---------using double hashing---------\n";
cout << "Hash table is:\n";
for (int i = 0; i < 10; i++) {
if (hash[i] == -1)
cout << i << "->"
<< "Empty" << endl;
else
cout << i << "->" << hash[i] << endl;
}
return 0;
}
Output:
Step by step
Solved in 3 steps with 3 images