Website Summary Files Commits Branches @commit @diff @stats
path: root / Seminar04 / linked-list-utils.h
diff options
context:
space:
mode:
Commit3de7b99fbbfdbb44cfddabf6a697d5c3335bdacb (patch)
Author
 Stoycho Kyosev <stoycho.kk@gmail.com>
2022-10-26 15:43:06 +0300
Committer
 Stoycho Kyosev <stoycho.kk@gmail.com>
2022-10-26 15:43:06 +0300
Filesa72acd5b4d7b4fcc3da4939e18ef864ee58bc064 /Seminar04/linked-list-utils.h
Data-structures-and-algorithms-3de7b99fbbfdbb44cfddabf6a697d5c3335bdacb.tar
Data-structures-and-algorithms-3de7b99fbbfdbb44cfddabf6a697d5c3335bdacb.tar.gz
Data-structures-and-algorithms-3de7b99fbbfdbb44cfddabf6a697d5c3335bdacb.zip
Parent0480ca20fabdb9373b64c353c90de47e7f97d394 (diff)
Add Seminar04
1 files changed, 31 insertions, 0 deletions
-rw-r--r--Seminar04/linked-list-utils.h31
diff --git a/Seminar04/linked-list-utils.h b/Seminar04/linked-list-utils.h
new file mode 100644
index 0000000..8e0fa23
--- /dev/null
+++ b/Seminar04/linked-list-utils.h
@@ -0,0 +1,31 @@
+#include<iostream>
+#include<initializer_list>
+
+template<class T>
+struct LinkedListNode {
+ T data;
+ LinkedListNode<T>* next;
+
+ LinkedListNode(const T& elem, LinkedListNode<T>* n = nullptr) : data{elem}, next {n} {}
+};
+
+template<class T>
+void printLinkedList(const LinkedListNode<T>* ll) {
+ const LinkedListNode<T>* iterate = ll;
+
+ while(iterate) {
+ std::cout << iterate->data << " ";
+ iterate = iterate->next;
+ }
+
+ std::cout << std::endl;
+}
+
+template<class T>
+void freeList(LinkedListNode<T>* ll) {
+ while(ll) {
+ LinkedListNode<T>* toDelete = ll;
+ ll = ll->next;
+ delete toDelete;
+ }
+} \ No newline at end of file