-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathDeleteOperationInHashTable.java
More file actions
66 lines (53 loc) · 1.68 KB
/
Copy pathDeleteOperationInHashTable.java
File metadata and controls
66 lines (53 loc) · 1.68 KB
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
public class DeleteOperationInHashTable {
static final int SIZE = 4;
static class DataItem {
int key;
}
static DataItem[] hashArray = new DataItem[SIZE];
static int hashCode(int key) {
return key % SIZE;
}
static void insert(int key) {
DataItem newItem = new DataItem();
newItem.key = key;
int hashIndex = hashCode(key);
while (hashArray[hashIndex] != null) {
hashIndex++;
hashIndex %= SIZE;
}
hashArray[hashIndex] = newItem;
}
static void delete(int key) {
int hashIndex = hashCode(key);
while (hashArray[hashIndex] != null) {
if (hashArray[hashIndex].key == key) {
hashArray[hashIndex] = null;
return;
}
hashIndex = (hashIndex + 1) % SIZE;
}
System.out.println("Item with key " + key + " not found.");
}
public static void main(String[] args) {
insert(42);
insert(25);
insert(64);
insert(22);
for (int i = 0; i < SIZE; i++) {
if (hashArray[i] != null) {
System.out.println("Index " + i + ": Key: " + hashArray[i].key);
} else {
System.out.println("Index " + i + ": Empty");
}
}
delete(22);
delete(10);
for (int i = 0; i < SIZE; i++) {
if (hashArray[i] != null) {
System.out.println("Index " + i + ": Key: " + hashArray[i].key);
} else {
System.out.println("Index " + i + ": Empty");
}
}
}
}