From 6a53a307727dbd1eb4986412d6043e0011bb13ae Mon Sep 17 00:00:00 2001 From: root Date: Fri, 26 Jun 2026 20:36:29 +0000 Subject: [PATCH] push --- ex02/Main.cpp | 4 +- ex02/PmergeMe | Bin 0 -> 176136 bytes ex02/PmergeMe.cpp | 239 +++++++++++++++++++++++++++++++++++++++++++- ex02/PmergeMe.hpp | 5 + ex02/obj/Main.o | Bin 0 -> 3280 bytes ex02/obj/PmergeMe.o | Bin 0 -> 383960 bytes 6 files changed, 244 insertions(+), 4 deletions(-) create mode 100755 ex02/PmergeMe create mode 100644 ex02/obj/Main.o create mode 100644 ex02/obj/PmergeMe.o diff --git a/ex02/Main.cpp b/ex02/Main.cpp index e8c1d34..744aba2 100644 --- a/ex02/Main.cpp +++ b/ex02/Main.cpp @@ -4,9 +4,7 @@ int main(int ac, char **av) { PmergeMe pm; try { - pm.parseInput(ac, av); - pm.printVector(); - pm.printDeque(); + pm.run(ac, av); } catch (const std::exception &e) { std::cerr << e.what() << std::endl; return 1; diff --git a/ex02/PmergeMe b/ex02/PmergeMe new file mode 100755 index 0000000000000000000000000000000000000000..d155d197fe33569946d75443d3b44d80c98a9029 GIT binary patch literal 176136 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

oo(hqA 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 literal 0 HcmV?d00001 diff --git a/ex02/PmergeMe.cpp b/ex02/PmergeMe.cpp index e1963c0..ed48f8e 100644 --- a/ex02/PmergeMe.cpp +++ b/ex02/PmergeMe.cpp @@ -42,7 +42,8 @@ void PmergeMe::parseInput(int ac, char **av) for (int i = 1; i < ac; i++) { std::istringstream ss(av[i]); - while (ss >> token) { + while (ss >> token) + { std::istringstream iss(token); if (!(iss >> n) || !iss.eof() || n < 0) throw std::runtime_error("Error"); @@ -55,3 +56,239 @@ void PmergeMe::parseInput(int ac, char **av) if (_vec.empty()) throw std::runtime_error("Error"); } + +void PmergeMe::run(int ac, char **av) +{ + std::cout << std::fixed << std::setprecision(5); + parseInput(ac, av); + std::cout << "Before: "; + printVector(); + sortVector(); + sortDeque(); + std::cout << "After: "; + printVector(); + std::cout << "Time to process a range of " << _vec.size() << " elements with std::vector : " << _vecTime << " us" << std::endl; + std::cout << "Time to process a range of " << _deq.size() << " elements with std::deque : " << _deqTime << " us" << std::endl; +} + +void PmergeMe::sortVector() +{ + clock_t start = clock(); + _vec = fordJohnsonVec(_vec); + clock_t end = clock(); + _vecTime = (double)(end - start) * 1e6 / CLOCKS_PER_SEC; +} + +std::vector > makePairs(std::vector v) +{ + std::vector > pairs; + for (size_t i = 0; i + 1 < v.size(); i += 2) + { + int a = v[i]; + int b = v[i + 1]; + if (a >= b) + pairs.push_back(std::make_pair(a, b)); + else + pairs.push_back(std::make_pair(b, a)); + } + return pairs; +} + +std::vector > reorderPairs(std::vector > pairs, std::vector winners) +{ + std::vector > reordered; + for (size_t i = 0; i < winners.size(); i++) + { + for (size_t j = 0; j < pairs.size(); j++) + { + if (pairs[j].first == winners[i]) + { + reordered.push_back(pairs[j]); + break; + } + } + } + return reordered; +} + +std::vector generateInsertionOrder(std::vector pend) +{ + std::vector order; + std::vector jacob; + jacob.push_back(0); + jacob.push_back(1); + while (jacob.back() <= pend.size()) + jacob.push_back(jacob.back() + 2 * jacob[jacob.size() - 2]); + for (size_t k = 3; k < jacob.size(); k++) + { + size_t high = jacob[k] - 2; + if (high >= pend.size()) + high = pend.size() - 1; + size_t low = jacob[k - 1] - 1; + for (size_t idx = high + 1; idx > low; idx--) + order.push_back(idx - 1); + } + return order; +} + +std::vector PmergeMe::fordJohnsonVec(std::vector v) +{ + if (v.size() <= 1) + return v; + + std::vector > pairs = makePairs(v); + int straggler = 0; + bool hasStraggler = false; + if (v.size() % 2 != 0) + { + straggler = v.back(); + hasStraggler = true; + } + + std::vector winners; + for (size_t i = 0; i < pairs.size(); i++) + winners.push_back(pairs[i].first); + winners = fordJohnsonVec(winners); + pairs = reorderPairs(pairs, winners); + + std::vector mainChain; + mainChain.push_back(pairs[0].second); + for (size_t i = 0; i < pairs.size(); i++) + { + mainChain.push_back(pairs[i].first); + } + + std::vector pend; + for (size_t i = 1; i < pairs.size(); i++) + { + pend.push_back(pairs[i].second); + } + + std::vector order = generateInsertionOrder(pend); + for (size_t i = 0; i < order.size(); i++) + { + int value = pend[order[i]]; + int aiValue = pairs[order[i] + 1].first; + std::vector::iterator aiPos = std::find(mainChain.begin(), mainChain.end(), aiValue); + std::vector::iterator insertPos = std::upper_bound(mainChain.begin(), aiPos, value); + mainChain.insert(insertPos, value); + } + + if (hasStraggler) + { + std::vector::iterator insertPos = std::upper_bound(mainChain.begin(), mainChain.end(), straggler); + mainChain.insert(insertPos, straggler); + } + return mainChain; +} + +void PmergeMe::sortDeque() +{ + clock_t start = clock(); + _deq = fordJohnsonDeque(_deq); + clock_t end = clock(); + _deqTime = (double)(end - start) * 1e6 / CLOCKS_PER_SEC; +} + +std::deque > makePairs(std::deque d) +{ + std::deque > pairs; + for (size_t i = 0; i + 1 < d.size(); i += 2) + { + int a = d[i]; + int b = d[i + 1]; + if (a >= b) + pairs.push_back(std::make_pair(a, b)); + else + pairs.push_back(std::make_pair(b, a)); + } + return pairs; +} + +std::deque > reorderPairs(std::deque > pairs, std::deque winners) +{ + std::deque > reordered; + for (size_t i = 0; i < winners.size(); i++) + { + for (size_t j = 0; j < pairs.size(); j++) + { + if (pairs[j].first == winners[i]) + { + reordered.push_back(pairs[j]); + break; + } + } + } + return reordered; +} + +std::deque generateInsertionOrder(std::deque pend) +{ + std::deque order; + std::deque jacob; + jacob.push_back(0); + jacob.push_back(1); + while (jacob.back() <= pend.size()) + jacob.push_back(jacob.back() + 2 * jacob[jacob.size() - 2]); + for (size_t k = 3; k < jacob.size(); k++) + { + size_t high = jacob[k] - 2; + if (high >= pend.size()) + high = pend.size() - 1; + size_t low = jacob[k - 1] - 1; + for (size_t idx = high + 1; idx > low; idx--) + order.push_back(idx - 1); + } + return order; +} + +std::deque PmergeMe::fordJohnsonDeque(std::deque d) +{ + if (d.size() <= 1) + return d; + + std::deque > pairs = makePairs(d); + int straggler = 0; + bool hasStraggler = false; + if (d.size() % 2 != 0) + { + straggler = d.back(); + hasStraggler = true; + } + + std::deque winners; + for (size_t i = 0; i < pairs.size(); i++) + winners.push_back(pairs[i].first); + winners = fordJohnsonDeque(winners); + pairs = reorderPairs(pairs, winners); + + std::deque mainChain; + mainChain.push_back(pairs[0].second); + for (size_t i = 0; i < pairs.size(); i++) + { + mainChain.push_back(pairs[i].first); + } + + std::deque pend; + for (size_t i = 1; i < pairs.size(); i++) + { + pend.push_back(pairs[i].second); + } + + std::deque order = generateInsertionOrder(pend); + for (size_t i = 0; i < order.size(); i++) + { + int value = pend[order[i]]; + int aiValue = pairs[order[i] + 1].first; + std::deque::iterator aiPos = std::find(mainChain.begin(), mainChain.end(), aiValue); + std::deque::iterator insertPos = std::upper_bound(mainChain.begin(), aiPos, value); + mainChain.insert(insertPos, value); + } + + if (hasStraggler) + { + std::deque::iterator insertPos = std::upper_bound(mainChain.begin(), mainChain.end(), straggler); + mainChain.insert(insertPos, straggler); + } + return mainChain; +} \ No newline at end of file diff --git a/ex02/PmergeMe.hpp b/ex02/PmergeMe.hpp index 432a686..803eaf9 100644 --- a/ex02/PmergeMe.hpp +++ b/ex02/PmergeMe.hpp @@ -8,6 +8,7 @@ #include #include #include +#include #include class PmergeMe @@ -23,6 +24,8 @@ class PmergeMe private: std::vector _vec; std::deque _deq; + double _vecTime; + double _deqTime; void printDeque() const; void printVector() const; @@ -32,6 +35,8 @@ class PmergeMe void sortVector(); void sortDeque(); + std::vector fordJohnsonVec(std::vector v); + std::deque fordJohnsonDeque(std::deque v); }; diff --git a/ex02/obj/Main.o b/ex02/obj/Main.o new file mode 100644 index 0000000000000000000000000000000000000000..09500d7a88e3095413df2e69b344d28895f3e27e GIT binary patch literal 3280 zcmbW2TWB0r7{|}-HjS5BW35z(4;!pn#SYn~2J3_7Hpv7x>5@&nROL83on{Ajcb1t+ z+!Vw}Q5e>M2!%lFoA|0PK1h)Y5sNQHib@a#U&LyC@hyn3e*c+s(%EqaNq>O#ne^Va|)iHLE-5=WCN#nby!S8Nr`=~AH!EY7)oxe6o z55BB-yIno_{B?92@3z9xmFx70>7DbSosG~W`W9T(gXrs}(4^NR*#2W3j_3YS{60O{ zy77v%)&uRj-a(_UUk&IT`lC^BrF%^ezR@@O!e}D2-gzJz{wUoqq5iO_8}C!xsJ!0X zday06_0DTM-)^z)g(2n8!xVYE&&V%Pe^EJfSz$jbVKU_{8sv9sd!UT(A9yb}dCy+` zTt4>`8G>a9=DLUd-A((PXZbWtG2D4Eqr>OUujV47;hC ztrp{_D*mye?RdOucowhQRo8IWxZSkxNq0o2~f8 zqFFOs?z@KVd$XpdEf5=_GHsJPp6^;lW7b^cTIDHTex8!dluk~Jm-xx)>58_<7sn?` z8js>y&C~T+^VTAg=P<<_h3kC9se4*^dZFS}xW;%`H3gG3FE!t^X|!N@D-CORp-wGQ z@h7adX|;UYX=113UBo@aE%}!oHOK@$l7M3`C4T{s1RT39c?*yP9Cu6d^ME8dYPda; ze*{PZd%U}ne+)?S1hxItB>xnU1orn*ll%)n5^$U+$+rMWlKfhPLmsdHml(f~bQz~0 zIO;zj^ms?dn|@9HFW?7bSlS@Y-WWe3bZ|5&MWKN8ylSeq*6@ugQ|X*VeNAevRX0@M zYWqw*ZTJRLtDeW`iV$5kO&;w#C#Sk4Fw9_})*aKRtMWo6&q)*`!#M5ssixCtSWPOV z>G+m9Grx4y^9}P2k=Cm5Gp<1gQ(bnQ6?t^z)NiZ5N?zEvq>KrGGX{YT_7Ud-BKs`= zQe+mMQK<08{z*UC7l>ic<9ka(_7eV)$lsA@6xm80{U9~O8lx5$J^VdptbpJo$dB_N z-`58LNgkyJlb*9ei;1QNl*I! E2OYrD0RR91 literal 0 HcmV?d00001 diff --git a/ex02/obj/PmergeMe.o b/ex02/obj/PmergeMe.o new file mode 100644 index 0000000000000000000000000000000000000000..2c6c1b0746a796aa29eac72ddf8d95f417f51ece GIT binary patch literal 383960 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�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 X?B{