Please convert to C language   //linear probing #include using namespace std; void add_using_linear_probing(int hash[], int a) {     //hash function h(x)=x%10     int k = a % 10;     //linear probing     while (true) {         if (hash[k] == -1) {             hash[k] = a;             break;         }         k = (k + 1) % 10; //linear increment of probe     } } 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     memset(hash, -1, sizeof(hash)); //initialize with empty initially     for (int a : arr) {         //hashing         add_using_linear_probing(hash, a);     }     cout << "---------using linear probing---------\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; }

Computer Networking: A Top-Down Approach (7th Edition)
7th Edition
ISBN:9780133594140
Author:James Kurose, Keith Ross
Publisher:James Kurose, Keith Ross
Chapter1: Computer Networks And The Internet
Section: Chapter Questions
Problem R1RQ: What is the difference between a host and an end system? List several different types of end...
icon
Related questions
Question

Please convert to C language

 

//linear probing
#include <bits/stdc++.h>
using namespace std;

void add_using_linear_probing(int hash[], int a)
{
    //hash function h(x)=x%10
    int k = a % 10;

    //linear probing
    while (true) {
        if (hash[k] == -1) {
            hash[k] = a;
            break;
        }
        k = (k + 1) % 10; //linear increment of probe
    }
}

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
    memset(hash, -1, sizeof(hash)); //initialize with empty initially

    for (int a : arr) {
        //hashing
        add_using_linear_probing(hash, a);
    }

    cout << "---------using linear probing---------\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 linear probing--
Hash table is:
0->Empty
1->Empty
2->Empty
3->123
4->124
5->333
6->983
7->Empty
8->Empty
9->4679
Transcribed Image Text:----using linear probing-- Hash table is: 0->Empty 1->Empty 2->Empty 3->123 4->124 5->333 6->983 7->Empty 8->Empty 9->4679
Expert Solution
steps

Step by step

Solved in 2 steps with 1 images

Blurred answer
Recommended textbooks for you
Computer Networking: A Top-Down Approach (7th Edi…
Computer Networking: A Top-Down Approach (7th Edi…
Computer Engineering
ISBN:
9780133594140
Author:
James Kurose, Keith Ross
Publisher:
PEARSON
Computer Organization and Design MIPS Edition, Fi…
Computer Organization and Design MIPS Edition, Fi…
Computer Engineering
ISBN:
9780124077263
Author:
David A. Patterson, John L. Hennessy
Publisher:
Elsevier Science
Network+ Guide to Networks (MindTap Course List)
Network+ Guide to Networks (MindTap Course List)
Computer Engineering
ISBN:
9781337569330
Author:
Jill West, Tamara Dean, Jean Andrews
Publisher:
Cengage Learning
Concepts of Database Management
Concepts of Database Management
Computer Engineering
ISBN:
9781337093422
Author:
Joy L. Starks, Philip J. Pratt, Mary Z. Last
Publisher:
Cengage Learning
Prelude to Programming
Prelude to Programming
Computer Engineering
ISBN:
9780133750423
Author:
VENIT, Stewart
Publisher:
Pearson Education
Sc Business Data Communications and Networking, T…
Sc Business Data Communications and Networking, T…
Computer Engineering
ISBN:
9781119368830
Author:
FITZGERALD
Publisher:
WILEY