-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathProgram.cs
More file actions
183 lines (158 loc) · 4.41 KB
/
Program.cs
File metadata and controls
183 lines (158 loc) · 4.41 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
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
//See https://aka.ms/new-console-template for more information
using DataStructure._01Arrays;
using DataStructure._02Lists;
using DataStructure._03Dictionaries;
using DataStructure._04HashSets;
using DataStructure._05Queues;
using DataStructure._06Stacks;
using DataStructure._07SortedList;
using DataStructure._08SortedDictionary;
using DataStructure._09LinkedLists;
using DataStructure._10ConcurrentDictionary;
using DataStructure._11ConcurrentQueue;
using DataStructure._12ConcurrentStack;
var arrays = new Arrays();
var daysOfWeek = arrays.GetDaysOfWeek();
// Accessing elements
Console.WriteLine(daysOfWeek[0]); // Output: Monday
// Iterating
foreach (var day in daysOfWeek)
{
Console.WriteLine(day);
}
var lists = new Lists();
var shoppingCart = lists.GetShoppingCart();
// Iterating
foreach (var item in shoppingCart)
{
Console.WriteLine(item);
}
Console.WriteLine($"---------------------------");
// Add items
shoppingCart.Add("Orange");
// Iterating
foreach (var item in shoppingCart)
{
Console.WriteLine(item);
}
// Remove items
shoppingCart.Remove("SamSung");
Console.WriteLine($"---------------------------");
foreach (var item in shoppingCart)
{
Console.WriteLine(item);
}
var dictionaries = new Dictionaries();
var users = dictionaries.GetUsers();
// Access a user
Console.WriteLine(users[1]); // Output: Alice
// Check existence
if (users.ContainsKey(5))
{
Console.WriteLine(users[5]);
}
var hasSets = new HashSets();
var programmingLanguages = hasSets.GetProgrammingLanguages();
programmingLanguages.Add("C#"); // No effect, already exists
foreach (var pmLang in programmingLanguages)
{
Console.WriteLine(pmLang);
}
var queues = new Queues();
var serviceQueue = queues.GetCustomerServiceRequests();
foreach (var queue in serviceQueue)
{
Console.WriteLine(queue);
}
Console.WriteLine(serviceQueue.Dequeue());// FIFO
var stacks = new Stacks();
var undoStack = stacks.GetUndo();
foreach (var stack in undoStack)
{
Console.WriteLine(stack);
}
Console.WriteLine(undoStack.Pop()); // Output: Delete 'o'
foreach (var stack in undoStack)
{
Console.WriteLine(stack);
}
undoStack.Push("Delete 'l'");
foreach (var stack in undoStack)
{
Console.WriteLine(stack);
}
Console.WriteLine(undoStack.Pop()); // Output: Delete 'o'
foreach (var stack in undoStack)
{
Console.WriteLine(stack);
}
var sortedList = new SortedLists();
var studentMarks = sortedList.GetStundentsTopMarksByAutoSort();
foreach (var mark in studentMarks)
{
Console.WriteLine($"Name : {mark.Value}, Mark : {mark.Key}");
}
Console.WriteLine($"---------------------------");
studentMarks.Add(110, "Aadhvik");
foreach (var mark in studentMarks)
{
Console.WriteLine($"Name : {mark.Value}, Mark : {mark.Key}");
}
var sortedDictionaries = new SortedDictionaries();
var eventLogs = sortedDictionaries.GetEventLog();
foreach (var eventLog in eventLogs)
{
Console.WriteLine($"{eventLog.Key}: {eventLog.Value}");
}
Console.WriteLine($"---------------------------");
eventLogs[DateTime.Now.AddMinutes(-1)] = "Event 3";
foreach (var eventLog in eventLogs)
{
Console.WriteLine($"{eventLog.Key}: {eventLog.Value}");
}
var linkedLists = new LinkedLists();
var browserHistory = linkedLists.GetBrowserHistory();
foreach (var page in browserHistory)
{
Console.WriteLine(page);
}
var concurrentDictionaries = new ConcurrentDictionaries();
var wordCounts = concurrentDictionaries.GetSharedCollectionOfCounters();
Console.WriteLine(wordCounts["hello"]);
Console.WriteLine(wordCounts["world"]);
var cuncurrentQueues = new ConcurrentQueues();
var logQueue = cuncurrentQueues.GetLogMessages();
// Process logs
if (logQueue.TryDequeue(out string log))
{
Console.WriteLine(log); // Output: Log1
}
var cuncurrentStacks = new ConcurrentStacks();
var undOConcurrentStacks = cuncurrentStacks.GetUndoStack();
foreach (var stack in undOConcurrentStacks)
{
Console.WriteLine(stack);
}
// Undo last operation
if (undOConcurrentStacks.TryPop(out string operation))
{
Console.WriteLine(operation); // Output: Operation2
}
Thread thread = new Thread(new ThreadStart(PrintNumbers));
thread.Start(); // Start the new thread
PrintNumbers(); // Run on the main thread
Task.Run(() => PrintNumbers());
PrintNumbers();
Parallel.For(0, 10, i =>
{
Console.WriteLine($"Processing item {i}");
});
Console.ReadLine();
static void PrintNumbers()
{
for (int i = 1; i <= 5; i++)
{
Console.WriteLine($"Number: {i}");
Thread.Sleep(1000); // Pause for 1 second
}
}