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=""> cout < "hash="" table=""> for (int i = 0; i < 10;="" i++)=""> if (hash[i] == -1) cout < i="">< "-="">" < "empty"=""><> else cout < i="">< "-="">" < hash[i]=""><> } return 0;}Output:Extracted text: ----using double hashing- Hash table is: 0->Empty 1->Empty 2->983 3->123 4->124 5->Empty 6->333 7->Empty 8->Empty 9->4679
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=""> cout < "hash="" table=""> for (int i = 0; i < 10;="" i++)=""> if (hash[i] == -1) cout < i="">< "-="">" < "empty"=""><> else cout < i="">< "-="">" < hash[i]=""><> } return 0;}Output:Extracted text: ----using double hashing- Hash table is: 0->Empty 1->Empty 2->983 3->123 4->124 5->Empty 6->333 7->Empty 8->Empty 9->4679
//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="">
cout < "hash="" table="">
for (int i = 0; i < 10;="" i++)=""> if (hash[i] == -1) cout < i="">< "-="">" < "empty"=""><> else cout < i="">< "-="">" < hash[i]=""><> }
return 0;}
Output:
Extracted text: ----using double hashing- Hash table is: 0->Empty 1->Empty 2->983 3->123 4->124 5->Empty 6->333 7->Empty 8->Empty 9->4679
Already registered? Login
Not Account? Sign up
Enter your email address to reset your password
Back to Login? Click here