Assing 8
Assing 8
#include <stdio.h>
#include <stdlib.h>
#define TABLE_SIZE 10
struct Node {
int key;
};
struct HashTable {
};
newNode->key = key;
newNode->next = NULL;
return newNode;
}
// Hash function (modulo method)
hashTable->table[i] = NULL;
newNode->next = hashTable->table[index];
hashTable->table[index] = newNode;
while (current) {
if (current->key == key) {
return;
current = current->next;
while (current) {
if (current->key == key) {
if (prev) {
prev->next = current->next;
} else {
hashTable->table[index] = current->next;
}
free(current);
return;
prev = current;
current = current->next;
while (current) {
current = current->next;
printf("NULL\n");
initializeTable(&hashTable);
while (1) {
printf("\nMenu:\n");
printf("5. Exit\n");
scanf("%d", &choice);
switch (choice) {
case 1:
scanf("%d", &key);
insert(&hashTable, key);
break;
case 2:
scanf("%d", &key);
search(&hashTable, key);
break;
case 3:
scanf("%d", &key);
delete(&hashTable, key);
break;
case 4:
display(&hashTable);
break;
case 5:
return;
default:
// Main function
int main() {
menu();
return 0;
Menu:
1. Insert Key
2. Search Key
3. Delete Key
5. Exit
#include <stdio.h>
#include <stdlib.h>
#define TABLE_SIZE 10
struct Node {
int key;
};
struct HashTable {
};
newNode->key = key;
newNode->prev = NULL;
newNode->next = NULL;
return newNode;
}
hashTable->table[i] = NULL;
if (hashTable->table[index] == NULL) {
hashTable->table[index] = newNode;
} else {
newNode->next = head;
head->prev = newNode;
hashTable->table[index] = newNode;
while (current) {
if (current->key == key) {
return;
current = current->next;
if (current->key == key) {
if (current->prev) {
current->prev->next = current->next;
} else {
hashTable->table[index] = current->next;
if (current->next) {
current->next->prev = current->prev;
free(current);
return;
current = current->next;
current = current->next;
printf("NULL\n");
void menu() {
initializeTable(&hashTable);
while (1) {
printf("\nMenu:\n");
printf("5. Exit\n");
scanf("%d", &choice);
switch (choice) {
case 1:
scanf("%d", &key);
insert(&hashTable, key);
break;
case 2:
scanf("%d", &key);
search(&hashTable, key);
break;
case 3:
scanf("%d", &key);
delete(&hashTable, key);
break;
case 4:
display(&hashTable);
break;
case 5:
return;
default:
}
}
// Main function
int main() {
menu();
return 0;
Menu:
1. Insert Key
2. Search Key
3. Delete Key
5. Exit
Menu:
1. Insert Key
2. Search Key
3. Delete Key
5. Exit
Menu:
1. Insert Key
2. Search Key
3. Delete Key
5. Exit
Index 0: NULL
Index 1: NULL
Index 2: NULL
Index 3: NULL
Index 4: NULL
Index 6: NULL
Index 7: NULL
Index 8: NULL
Index 9: N