Summary Files Commits Branches @commit @diff @stats
path: root / Year 2 / Structures and data algorithms / Project / exa / main.cpp
diff options
context:
space:
mode:
Commit06e1b9276cc1c709a24665399abebcdcefd3cb3e (patch)
Author
 Syndamia <kamen@syndamia.com>
2022-12-27 10:40:43 +0200
Committer
 Syndamia <kamen@syndamia.com>
2022-12-27 10:40:43 +0200
Files69873aaca7ebb1f7f806b88db6703767e861a170 /Year 2/Structures and data algorithms/Project/exa/main.cpp
uni-projects-06e1b9276cc1c709a24665399abebcdcefd3cb3e.tar
uni-projects-06e1b9276cc1c709a24665399abebcdcefd3cb3e.tar.gz
uni-projects-06e1b9276cc1c709a24665399abebcdcefd3cb3e.zip
Parenta636f8b6bf4202c9cc78262ab9f42bdc842372a7 (diff)
[SDP/P] Initial solution to first exercise in project
1 files changed, 38 insertions, 0 deletions
-rw-r--r--Year 2/Structures and data algorithms/Project/exa/main.cpp38
diff --git a/Year 2/Structures and data algorithms/Project/exa/main.cpp b/Year 2/Structures and data algorithms/Project/exa/main.cpp
new file mode 100644
index 0000000..1698a2c
--- /dev/null
+++ b/Year 2/Structures and data algorithms/Project/exa/main.cpp
@@ -0,0 +1,38 @@
+#include "SkipList.hpp"
+#include <string>
+#include <iostream>
+
+int main() {
+ SkipList<std::string> cities;
+ cities.push("Sofia");
+ cities.push("Pazardzhik");
+ cities.push("Plovdiv");
+ cities.push("Dimitrovgrad");
+ cities.push("StaraZagora");
+ cities.push("NovaZagora");
+ cities.push("Yambol");
+ cities.push("Karnobat");
+ cities.push("Burgas");
+
+ cities.addSkip("Sofia", "Plovdiv");
+ cities.addSkip("Plovdiv", "NovaZagora");
+ cities.addSkip("Dimitrovgrad", "NovaZagora");
+ cities.addSkip("StaraZagora", "Yambol");
+ cities.addSkip("NovaZagora", "Burgas");
+
+ cities.print(std::cout) << std::endl;
+
+ SkipList<std::string> visit;
+ visit.push("Plovdiv");
+ visit.push("StaraZagora");
+ visit.push("Yambol");
+ visit.push("Burgas");
+ std::stack<std::string> path = cities.shortestSublistIncluding(visit);
+
+ while (!path.empty()) {
+ std::cout << path.top() << ", ";
+ path.pop();
+ }
+ std::cout << std::endl;
+ // path.print(std::cout) << std::endl;
+}