REFERRED FROM : GURUPRASAD M S
#include<stdio.h>
#include<stdlib.h>
#define MAX 100
void insert();
void display();
int a[MAX];
void display()
{
int i;
printf("\n HASH TABLE CONTENTS ARE \n");
for(i=0;i<MAX;i++)
{
if(a[i]!=-1)
printf("%d %d \n",i,a[i]);
}
}
void insert()
{
int num,key,i,count=0;
printf("\n Enter the DATA \n");
scanf("%d",&num);
key=num%MAX;
if(a[key]==-1)
a[key]=num;
else
{
printf("Collision is Detected\n");
for(i=0;i<MAX;i++)
{
if(a[i]!=-1)
{
count++;
}
}
if(count==MAX)
{
printf("\n HASH TABLE IS FULL \n");
return;
}
printf("\nCollision avoided succesfully using Linear Probing \n");
for(i=key+1;i<MAX;i++)
{
if(a[i]==-1)
{
a[i]=num;
return;
}
}
for(i=0;i<key;i++)
{
if(a[i]==-1)
{
a[i]=num;
return;
}
}
}
}
void main()
{
int i,ch;
printf("Collision handling by linear probing :\n");
for(i=0;i<MAX;i++)
{
a[i]=-1;
}
while(1)
{
printf("\n PRESS 1.Insert \t 2.Display \t 4.Exit \nENTER YOUR CHOICE \n");
scanf("%d",&ch);
switch(ch)
{
case 1:insert(); break;
case 2:display(); break;
case 4:exit(0);
default: printf("Invalid Choice \n");
}
}
}
OUTPUT AT THE END
REFERRED FROM : PRITHVIRAJ JAIN
#include<stdio.h>
#include<stdlib.h>
#define max 10
int a[max],i,choice,key,num;
void insert()
{
int count=0;
printf("ENTER THE DATA\n");
scanf("%d",&num);
key=num%max;
if(a[key]==-1)
a[key]=num;
else
{
printf("COLLISION DETECTED \n");
for(i=0;i<max;i++)
if(a[i]!=-1)
count++;
if(count==max)
{
printf("HASH TABLE IS FULL\n");
return;
}
printf("COLLISION AVOIDED BY LINEAR PROBING METHOD\n");
for(i=key+1;i<max;i++)
{
if(a[i]==-1)
{
a[i]=num;
return;
}
}
for(i=0;i<key;i++)
{
if(a[i]==-1)
{
a[i]=num;
return;
}
}
}
}
void display()
{
int ch;
printf("1. NORMAL DISPLAY\n2. FILTERED DISPLAY\n");
scanf("%d",&ch);
switch(ch)
{
case 1:printf("THE HASH TABLE CONTAINS :\n");
for(i=0;i<max;i++)
printf("%d\t%d\n",i,a[i]);
break;
case 2:printf("THE HASH TABLE CONTAINS :\n");
for(i=0;i<max;i++)
{
if(a[i]==-1)
continue;
printf("%d\t%d\n",i,a[i]);
}
break;
default:printf("INVALID CHOICE\n");
}
}
void main()
{
for(i=0;i<max;i++)
a[i]=-1;
while(1)
{
printf("\n-------MENU\n1. INSERT DATA\n2. DISPLAY\n3. EXIT\nENTER YOUR CHOICE :\n");
scanf("%d",&choice);
switch(choice)
{
case 1:insert();
break;
case 2:display();
break;
case 3:exit(0);
default:printf("INVALID CHOICE\n");
}
}
}
#include<stdio.h>
#include<stdlib.h>
#define MAX 100
void insert();
void display();
int a[MAX];
void display()
{
int i;
printf("\n HASH TABLE CONTENTS ARE \n");
for(i=0;i<MAX;i++)
{
if(a[i]!=-1)
printf("%d %d \n",i,a[i]);
}
}
void insert()
{
int num,key,i,count=0;
printf("\n Enter the DATA \n");
scanf("%d",&num);
key=num%MAX;
if(a[key]==-1)
a[key]=num;
else
{
printf("Collision is Detected\n");
for(i=0;i<MAX;i++)
{
if(a[i]!=-1)
{
count++;
}
}
if(count==MAX)
{
printf("\n HASH TABLE IS FULL \n");
return;
}
printf("\nCollision avoided succesfully using Linear Probing \n");
for(i=key+1;i<MAX;i++)
{
if(a[i]==-1)
{
a[i]=num;
return;
}
}
for(i=0;i<key;i++)
{
if(a[i]==-1)
{
a[i]=num;
return;
}
}
}
}
void main()
{
int i,ch;
printf("Collision handling by linear probing :\n");
for(i=0;i<MAX;i++)
{
a[i]=-1;
}
while(1)
{
printf("\n PRESS 1.Insert \t 2.Display \t 4.Exit \nENTER YOUR CHOICE \n");
scanf("%d",&ch);
switch(ch)
{
case 1:insert(); break;
case 2:display(); break;
case 4:exit(0);
default: printf("Invalid Choice \n");
}
}
}
OUTPUT AT THE END
REFERRED FROM : PRITHVIRAJ JAIN
#include<stdio.h>
#include<stdlib.h>
#define max 10
int a[max],i,choice,key,num;
void insert()
{
int count=0;
printf("ENTER THE DATA\n");
scanf("%d",&num);
key=num%max;
if(a[key]==-1)
a[key]=num;
else
{
printf("COLLISION DETECTED \n");
for(i=0;i<max;i++)
if(a[i]!=-1)
count++;
if(count==max)
{
printf("HASH TABLE IS FULL\n");
return;
}
printf("COLLISION AVOIDED BY LINEAR PROBING METHOD\n");
for(i=key+1;i<max;i++)
{
if(a[i]==-1)
{
a[i]=num;
return;
}
}
for(i=0;i<key;i++)
{
if(a[i]==-1)
{
a[i]=num;
return;
}
}
}
}
void display()
{
int ch;
printf("1. NORMAL DISPLAY\n2. FILTERED DISPLAY\n");
scanf("%d",&ch);
switch(ch)
{
case 1:printf("THE HASH TABLE CONTAINS :\n");
for(i=0;i<max;i++)
printf("%d\t%d\n",i,a[i]);
break;
case 2:printf("THE HASH TABLE CONTAINS :\n");
for(i=0;i<max;i++)
{
if(a[i]==-1)
continue;
printf("%d\t%d\n",i,a[i]);
}
break;
default:printf("INVALID CHOICE\n");
}
}
void main()
{
for(i=0;i<max;i++)
a[i]=-1;
while(1)
{
printf("\n-------MENU\n1. INSERT DATA\n2. DISPLAY\n3. EXIT\nENTER YOUR CHOICE :\n");
scanf("%d",&choice);
switch(choice)
{
case 1:insert();
break;
case 2:display();
break;
case 3:exit(0);
default:printf("INVALID CHOICE\n");
}
}
}