1+ using DataStructures . AbstractDataTypes . Hashes ;
2+
3+ namespace ConsoleApp . Ds ;
4+
5+ public static class Hashes
6+ {
7+ private static void HashSetUsage ( )
8+ {
9+ var set = new DataStructures . AbstractDataTypes . Hashes . HashSet < string > ( ) ;
10+ set . Add ( "Name 1" ) ;
11+ set . Add ( "Name 2" ) ;
12+ set . Add ( "Name 3" ) ;
13+ set . Add ( "Name 4" ) ;
14+ set . Add ( "Name 5" ) ;
15+ set . Add ( "Name 6" ) ;
16+
17+ var isExist = set . Contains ( "Name 2" ) ;
18+ Console . WriteLine ( isExist ) ;
19+ //set.Remove("Name 2");
20+ }
21+
22+ private static void HashTableLinearProbingUsage ( )
23+ {
24+ var hashTable = new HashTableLinearProbing < int > ( 2 ) ;
25+ for ( var i = 0 ; i < 50 ; i ++ )
26+ {
27+ hashTable . Add ( i ) ;
28+ }
29+ Console . WriteLine ( $ "Table Count:{ hashTable . Count } ") ;
30+ foreach ( var item in hashTable )
31+ {
32+ Console . WriteLine ( $ "Item:{ item } ") ;
33+ }
34+ hashTable . Remove ( 2 ) ;
35+ hashTable . Contains ( 2 ) ;
36+ Console . WriteLine ( $ "Table New Count:{ hashTable . Count } ") ;
37+ }
38+
39+ private static void HashTableSeparateChainingUsage ( )
40+ {
41+ var hashTable = new HashTableSeparateChaining < int > ( 4 ) ;
42+ for ( var i = 0 ; i < 50 ; i ++ )
43+ {
44+ hashTable . Add ( i ) ;
45+ }
46+ Console . Write ( $ "Table Count:{ hashTable . Count } ") ;
47+ foreach ( var item in hashTable )
48+ {
49+ Console . WriteLine ( item ) ;
50+ }
51+
52+ var exists = hashTable . Contains ( 4 ) ;
53+ Console . WriteLine ( exists ) ;
54+ }
55+
56+ public static void Use ( )
57+ {
58+ HashSetUsage ( ) ;
59+ HashTableLinearProbingUsage ( ) ;
60+ HashTableSeparateChainingUsage ( ) ;
61+ }
62+ }
0 commit comments