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; }

Database System Concepts
7th Edition
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Chapter1: Introduction
Section: Chapter Questions
Problem 1PE
icon
Related questions
Question

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
    vector<int> 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;
}

 

Output:

 

----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
Transcribed Image 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
Expert Solution
steps

Step by step

Solved in 3 steps with 3 images

Blurred answer
Knowledge Booster
Concept of Threads
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Similar questions
  • SEE MORE QUESTIONS
Recommended textbooks for you
Database System Concepts
Database System Concepts
Computer Science
ISBN:
9780078022159
Author:
Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:
McGraw-Hill Education
Starting Out with Python (4th Edition)
Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON
Digital Fundamentals (11th Edition)
Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON
C How to Program (8th Edition)
C How to Program (8th Edition)
Computer Science
ISBN:
9780133976892
Author:
Paul J. Deitel, Harvey Deitel
Publisher:
PEARSON
Database Systems: Design, Implementation, & Manag…
Database Systems: Design, Implementation, & Manag…
Computer Science
ISBN:
9781337627900
Author:
Carlos Coronel, Steven Morris
Publisher:
Cengage Learning
Programmable Logic Controllers
Programmable Logic Controllers
Computer Science
ISBN:
9780073373843
Author:
Frank D. Petruzella
Publisher:
McGraw-Hill Education