HASHING
#include<stdio.h>
#include<stdbool.h>
int pos;
int array[50];
void insert();
void search();
int Hash(int );
int reHash(int );
void Delete();
int main()
{
int choice;
int i;
for(i = 0; i < 40; i++){
array[i] = '*';
while(1)
{
printf("\n1. Insert\n2. Search\n3. Delete\n4. Exit\n");
printf("Enter your choice: ");
scanf("%d", &choice);
switch(choice){
case 1:
insert();
break;
case 2:
search();
break;
case 3:
Delete();
break;
case 4:
exit(0);
default:
printf("\nEnter correct option\n");
break;
}
}
return 0;
}
void insert(){
int data;
int count = 0;
printf("Enter the item to insert: ");
scanf("%d", &data);
pos = Hash(data);
if(pos >= 50)
{
pos = 0;
}
while(array[pos] != '*'){
pos = reHash(pos);
count++;
if(count>=50){
printf("Memory Full!!No space is avaible for storage");
break;
}
}
if(array[pos] == '*'){
array[pos] = data;
}
printf("Data is stored at index %d\n", pos);
}
int Hash(int k){
return k%100;
}
int reHash(int k){
return (k+1)%100;
}
void search(){
int k,i;
bool isFound = false;
printf("Enter the item to search: ");
scanf("%d", &k);
for(i = 0; i < 50; i++){
if(array[i] == k)
{
isFound = true;
break;
}
}
if(isFound)
{
printf("The item is found at index %d\n", i);
}
else
{
printf("No record available!!");
}
}
void Delete(){
int k,i;
bool isFound = false;
printf("Enter the item to delete: ");
scanf("%d", &k);
for(i = 0; i < 50; i++){
if(array[i] == k){
isFound = true;
break;
}
}
if(isFound)
{
array[i] = '*';
printf("The item is deleted\n");
}
else
{
printf("No item is Found!!");
}
}
#include<stdio.h>
#include<stdbool.h>
int pos;
int array[50];
void insert();
void search();
int Hash(int );
int reHash(int );
void Delete();
int main()
{
int choice;
int i;
for(i = 0; i < 40; i++){
array[i] = '*';
while(1)
{
printf("\n1. Insert\n2. Search\n3. Delete\n4. Exit\n");
printf("Enter your choice: ");
scanf("%d", &choice);
switch(choice){
case 1:
insert();
break;
case 2:
search();
break;
case 3:
Delete();
break;
case 4:
exit(0);
default:
printf("\nEnter correct option\n");
break;
}
}
return 0;
}
void insert(){
int data;
int count = 0;
printf("Enter the item to insert: ");
scanf("%d", &data);
pos = Hash(data);
if(pos >= 50)
{
pos = 0;
}
while(array[pos] != '*'){
pos = reHash(pos);
count++;
if(count>=50){
printf("Memory Full!!No space is avaible for storage");
break;
}
}
if(array[pos] == '*'){
array[pos] = data;
}
printf("Data is stored at index %d\n", pos);
}
int Hash(int k){
return k%100;
}
int reHash(int k){
return (k+1)%100;
}
void search(){
int k,i;
bool isFound = false;
printf("Enter the item to search: ");
scanf("%d", &k);
for(i = 0; i < 50; i++){
if(array[i] == k)
{
isFound = true;
break;
}
}
if(isFound)
{
printf("The item is found at index %d\n", i);
}
else
{
printf("No record available!!");
}
}
void Delete(){
int k,i;
bool isFound = false;
printf("Enter the item to delete: ");
scanf("%d", &k);
for(i = 0; i < 50; i++){
if(array[i] == k){
isFound = true;
break;
}
}
if(isFound)
{
array[i] = '*';
printf("The item is deleted\n");
}
else
{
printf("No item is Found!!");
}
}
No comments:
Post a Comment
Note: only a member of this blog may post a comment.