From d4514e6f6ce347546d2700c92014bf37f3a032bf Mon Sep 17 00:00:00 2001 From: adjoly Date: Thu, 3 Jul 2025 20:53:48 +0200 Subject: [PATCH] =?UTF-8?q?=E3=80=8C=F0=9F=94=A8=E3=80=8D=20fix:=20fixed?= =?UTF-8?q?=20duplication=20of=20number?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ex02/PmergeMe.cpp | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/ex02/PmergeMe.cpp b/ex02/PmergeMe.cpp index dab0521..6d064e7 100644 --- a/ex02/PmergeMe.cpp +++ b/ex02/PmergeMe.cpp @@ -6,7 +6,7 @@ /* By: adjoly +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2025/06/04 13:28:23 by adjoly #+# #+# */ -/* Updated: 2025/06/04 14:05:14 by adjoly ### ########.fr */ +/* Updated: 2025/07/03 20:52:56 by adjoly ### ########.fr */ /* */ /* ************************************************************************** */ @@ -43,7 +43,6 @@ template void printContainer(const Container &container) { std::cout << std::endl; } -// Measure time and run sorting for vector and deque void sortAndTime(std::vector &vec, std::deque &deq) { auto vecStart = std::clock(); _fordJohnsonSort(vec); @@ -72,7 +71,6 @@ std::vector _generateJacobsthalOrder(size_t n) { std::vector sequence; std::vector inserted(n, false); - // Generate the sequence size_t j0 = 0, j1 = 1; while (j1 < n) { sequence.push_back(j1); @@ -117,10 +115,12 @@ template void _fordJohnsonSort(Container &container) { _fordJohnsonSort(mainChain); - std::vector order = _generateJacobsthalOrder(pendingElements.size()); + std::vector order = + _generateJacobsthalOrder(pendingElements.size()); for (size_t i = 0; i < order.size(); ++i) { _binaryInsert(mainChain, pendingElements[order[i]]); } + container = mainChain; } @@ -136,5 +136,6 @@ template void _binaryInsert(Container &sorted, int value) { itH = itMid; } - sorted.insert(itL, value); + if (itL == sorted.end() || *itL != value) + sorted.insert(itL, value); }