Website Summary Files Commits Branches @commit @diff @stats
path: root / src
diff options
context:
space:
mode:
Commit4f27fe893c0e5b85122a228dd66f79bc8fa87088 (patch)
Author
 Syndamia <kamen.d.mladenov@protonmail.com>
2022-05-02 22:01:24 +0300
Committer
 Syndamia <kamen.d.mladenov@protonmail.com>
2022-05-02 22:01:24 +0300
Files9e45b453c68af7f57a7704b9ee0a8421a267d5c3 /src
FMI-OOP-P1_TicketSystem-4f27fe893c0e5b85122a228dd66f79bc8fa87088.tar
FMI-OOP-P1_TicketSystem-4f27fe893c0e5b85122a228dd66f79bc8fa87088.tar.gz
FMI-OOP-P1_TicketSystem-4f27fe893c0e5b85122a228dd66f79bc8fa87088.zip
Parentaa8b39d1ea473224ab7b52aaf580201fbc1dfbbf (diff)
Fixed OrderedList location
2 files changed, 28 insertions, 0 deletions
-rw-r--r--src/List/OrderedList.cpp12
-rw-r--r--src/List/OrderedList.h16
diff --git a/src/List/OrderedList.cpp b/src/List/OrderedList.cpp
new file mode 100644
index 0000000..f3a7450
--- /dev/null
+++ b/src/List/OrderedList.cpp
@@ -0,0 +1,12 @@
+#include "OrderedList.h"
+
+template <class T>
+bool OrderedList<T>::insert(const T& element) {
+ if (List<T>::length == List<T>::count) List<T>::resize();
+
+ unsigned insertionInd = 0;
+ while (List<T>::elements[insertionInd].compare(element) < 0 && insertionInd < List<T>::count)
+ insertionInd++;
+
+ return List<T>::insertAt(element, insertionInd);
+}
diff --git a/src/List/OrderedList.h b/src/List/OrderedList.h
new file mode 100644
index 0000000..22f05df
--- /dev/null
+++ b/src/List/OrderedList.h
@@ -0,0 +1,16 @@
+#ifndef HEADER_ORDEREDLIST
+#define HEADER_ORDEREDLIST
+
+#include "List.h"
+
+template <class T>
+class OrderedList : public List<T> {
+public:
+ void add(const T& element) = delete;
+ bool insertAt(const T& element, unsigned index) = delete;
+
+ bool insert(const T& element);
+ // unsigned findIndex(const T& element) const; TODO: binary search
+};
+
+#endif