-
Notifications
You must be signed in to change notification settings - Fork 141
Expand file tree
/
Copy pathQ7_12_Hash_Table.cs
More file actions
56 lines (51 loc) · 1.76 KB
/
Copy pathQ7_12_Hash_Table.cs
File metadata and controls
56 lines (51 loc) · 1.76 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
using System;
using ctci.Contracts;
namespace Chapter07
{
public class Q7_12_Hash_Table: Question
{
public override void Run()
{
Dummy bob = new Dummy("Bob", 20);
Dummy jim = new Dummy("Jim", 25);
Dummy alex = new Dummy("Alex", 30);
Dummy tim = new Dummy("Tim", 35);
Dummy maxwell = new Dummy("Maxwell", 40);
Dummy john = new Dummy("John", 45);
Dummy julie = new Dummy("Julie", 50);
Dummy christy = new Dummy("Christy", 55);
Dummy tim2 = new Dummy("Tim", 100); // This should replace the first "tim"
Dummy[] dummies = { bob, jim, alex, tim, maxwell, john, julie, christy, tim2 };
/* Test: Insert Elements. */
Hasher<String, Dummy> hash = new Hasher<String, Dummy>(3);
foreach (Dummy d in dummies)
{
Console.WriteLine(hash.Put(d.Name, d));
}
hash.PrintTable();
/* Test: Recall */
foreach (Dummy d in dummies)
{
String name = d.Name;
Dummy dummy = hash.Get(name);
if (dummy == null)
{
Console.WriteLine($"Dummy named {name}: null");
}
else
{
Console.WriteLine($"Dummy named {name}: {dummy}");
}
Dummy d2 = hash.Remove(name);
if (d2 == null)
{
Console.WriteLine($"Dummy removed named {name}: null");
}
else
{
Console.WriteLine($"Dummy removed named {name}: {d2}");
}
}
}
}
}