Website Summary Files Commits Branches @commit @diff @stats
path: root / Seminar06 / linkedListCycle.cpp
diff options
context:
space:
mode:
Commit0ada48f859ab59acdbd67e67e887026cacc29e33 (patch)
Author
 Stoycho Kyosev <stoycho.kk@gmail.com>
2022-11-09 22:56:24 +0200
Committer
 Stoycho Kyosev <stoycho.kk@gmail.com>
2022-11-09 22:56:24 +0200
Files4b4edeee0fc768ddf48073804c4a0f8719e580ed /Seminar06/linkedListCycle.cpp
Data-structures-and-algorithms-0ada48f859ab59acdbd67e67e887026cacc29e33.tar
Data-structures-and-algorithms-0ada48f859ab59acdbd67e67e887026cacc29e33.tar.gz
Data-structures-and-algorithms-0ada48f859ab59acdbd67e67e887026cacc29e33.zip
Parent16a916c1fc7ecf89bfbf910445740fb4596aae8f (diff)
add Seminar06
1 files changed, 33 insertions, 0 deletions
-rw-r--r--Seminar06/linkedListCycle.cpp33
diff --git a/Seminar06/linkedListCycle.cpp b/Seminar06/linkedListCycle.cpp
new file mode 100644
index 0000000..4aa33c6
--- /dev/null
+++ b/Seminar06/linkedListCycle.cpp
@@ -0,0 +1,33 @@
+#include"../Seminar04/linked-list-utils.h"
+
+bool hasCycle(LinkedListNode<int>* head) {
+ LinkedListNode<int> *fast = head;
+ LinkedListNode<int> *slow = head;
+
+ while (fast && fast->next && slow) {
+ fast = (fast->next)->next;
+ slow = slow->next;
+
+ if (fast == slow)
+ return true;
+ }
+
+ return false;
+}
+
+int main() {
+ using Node = LinkedListNode<int>;
+
+ Node* last = new Node(6);
+
+ Node* list = new Node(1,
+ new Node(2,
+ new Node(3,
+ new Node(4,
+ new Node(5,
+ last)))));
+
+ last->next = list->next->next;
+
+ hasCycle(list);
+} \ No newline at end of file