-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathHash Table.c
66 lines (66 loc) · 1.59 KB
/
Hash Table.c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
#include<stdio.h>
#define size 5
int arr[size];
void init()
{
int i;
for(i = 0; i < size; i++)
arr[i] = -1;
}
void insert(int value){
int key = value % size;
if(arr[key] == -1){
arr[key] = value;
printf("%d inserted at arr[%d]\n", value,key);
}
else{
printf("Collision : arr[%d] has element %d already!\n",key,arr[key]);
printf("Unable to insert %d\n",value);
}
}
void del(int value){
int key = value % size;
if(arr[key] == value)
arr[key] = -1;
else
printf("%d not present in the hash table\n",value);
}
void search(int value)
{
int key = value % size;
if(arr[key] == value)
printf("Search Found\n");
else
printf("Search Not Found\n");
}
void print(){
int i;
printf("-------------------------\n");
printf("|\tLoc - Dta\t|\n");
printf("-------------------------\n");
for(i = 0; i < size; i++)
printf("|\t%d |\t%d\t|\n",i,arr[i]);
printf("-------------------------\n");
}
void main(){
init();
int ch,x,c=0;
printf("\n1.Insert\n2.Search\n3.Delete\n4.Display\n");
while(!c){
printf("Enter choice : ");
scanf("%d",&ch);
switch(ch){
case 1:
printf("Enter element to insert : ");
scanf("%d",&x);insert(x);break;
case 2:
printf("Enter element to search : ");
scanf("%d",&x);search(x);break;
case 3:
printf("Enter element to delete : ");
scanf("%d",&x);del(x);break;
case 4:
print();c++;break;
}
}
}