//Consider telephone book database of N clients. //Make use of a hash table implementation to quickly look up client‘s telephone number. #include<iostream> using namespace std; struct node { int value; node* next; }*HashTable[10]; class hashing { public: hashing() { for(int i=0 ; i<10 ; i++){ HashTable[i]=NULL; } } int HashFunction(int value) { return (value%10); } node* create_node(int x) { node* temp=new node; temp->next=NULL; temp->value=x; return temp; } void display() { for(int i=0 ; i< 10; i++) { node * temp=new node; temp=HashTable[i]; cout<<"a["<<i<<"] : "; while(temp !=NULL) { cout<<" ->"<<temp->value; temp=temp->next; } cout<<"\n"; } } int searchElement(int value) { bool flag = false; int hash_val = HashFunction(value); node* entry = HashTable[hash_val]; cout<<"\nElement found at : "; while (entry != NULL) { if (entry->value==value) { cout<<hash_val<<" : "<<entry->value<<endl; flag = true; } entry = entry->next; } if (!flag) return -1; } void deleteElement(int value) { int hash_val = HashFunction(value); node* entry = HashTable[hash_val]; if (entry == NULL ) { cout<<"No Element found "; return; } if(entry->value==value){ HashTable[hash_val]=entry->next; return; } while ((entry->next)->value != value) { entry = entry->next; } entry->next=(entry->next)->next; } void insertElement(int value) { int hash_val = HashFunction(value); // node* prev = NULL; //node* entry = HashTable[hash_val]; node* temp=new node; node* head=new node; head = create_node(value); temp=HashTable[hash_val]; if (temp == NULL) { HashTable[hash_val] =head; } else { while (temp->next != NULL) { temp = temp->next; } temp->next =head; } } }; int main(){ int ch; int data,search,del; hashing h; do{ cout<<"\nTelephone : \n1.Insert \n2.Display \n3.Search \n4.Delete \n5.Exit \n\n OPTION: "; cin>>ch; switch(ch) { case 1: cout<<"\nEnter phone no. to be inserted : "; cin>>data; h.insertElement(data); break; case 2: h.display(); break; case 3: cout<<"\nEnter the no to be searched : "; cin>>search; if (h.searchElement(search) == -1) { cout<<"No element found at key "; continue; } break; case 4: cout<<"\nEnter the phno. to be deleted : "; cin>>del; h.deleteElement(del); cout<<"Phno. Deleted"<<endl; break; } }while(ch!=5); return 0; }
Write, Run & Share C++ code online using OneCompiler's C++ online compiler for free. It's one of the robust, feature-rich online compilers for C++ language, running on the latest version 17. Getting started with the OneCompiler's C++ compiler is simple and pretty fast. The editor shows sample boilerplate code when you choose language as C++
and start coding!
OneCompiler's C++ online compiler supports stdin and users can give inputs to programs using the STDIN textbox under the I/O tab. Following is a sample program which takes name as input and print your name with hello.
#include <iostream>
#include <string>
using namespace std;
int main()
{
string name;
cout << "Enter name:";
getline (cin, name);
cout << "Hello " << name;
return 0;
}
C++ is a widely used middle-level programming language.
When ever you want to perform a set of operations based on a condition If-Else is used.
if(conditional-expression) {
//code
}
else {
//code
}
You can also use if-else for nested Ifs and If-Else-If ladder when multiple conditions are to be performed on a single variable.
Switch is an alternative to If-Else-If ladder.
switch(conditional-expression){
case value1:
// code
break; // optional
case value2:
// code
break; // optional
......
default:
code to be executed when all the above cases are not matched;
}
For loop is used to iterate a set of statements based on a condition.
for(Initialization; Condition; Increment/decrement){
//code
}
While is also used to iterate a set of statements based on a condition. Usually while is preferred when number of iterations are not known in advance.
while (condition) {
// code
}
Do-while is also used to iterate a set of statements based on a condition. It is mostly used when you need to execute the statements atleast once.
do {
// code
} while (condition);
Function is a sub-routine which contains set of statements. Usually functions are written when multiple calls are required to same set of statements which increases re-usuability and modularity. Function gets run only when it is called.
return_type function_name(parameters);
function_name (parameters)
return_type function_name(parameters) {
// code
}