Website Summary Files Commits Branches @commit @diff @stats
path: root / src / OrderedList / OrderedList.cpp
diff options
context:
space:
mode:
1 files changed, 8 insertions, 8 deletions
-rw-r--r--src/OrderedList/OrderedList.cpp16
diff --git a/src/OrderedList/OrderedList.cpp b/src/OrderedList/OrderedList.cpp
index c16eaf3..f3a7450 100644
--- a/src/OrderedList/OrderedList.cpp
+++ b/src/OrderedList/OrderedList.cpp
@@ -1,12 +1,12 @@
#include "OrderedList.h"
-bool OrderedList::insert(const T& element) {
- if (length == count) resize();
+template <class T>
+bool OrderedList<T>::insert(const T& element) {
+ if (List<T>::length == List<T>::count) List<T>::resize();
- unsigned l = 0, r = count - 1, m = l / 2 + r / 2;
- while (l < r) {
- if (elements[m].compare(element) > 0) r = m;
- else if (elements[m].compare(element) < 0) l = m;
- m = l / 2 + r / 2;
- }
+ unsigned insertionInd = 0;
+ while (List<T>::elements[insertionInd].compare(element) < 0 && insertionInd < List<T>::count)
+ insertionInd++;
+
+ return List<T>::insertAt(element, insertionInd);
}