From 6bf4b90c90f15f4ab60833bddf5b5756d1a6b1f6 Mon Sep 17 00:00:00 2001 From: Elizabeth Alexander Hunt Date: Thu, 2 Jul 2026 11:55:17 -0700 Subject: Init --- Homework/cs3460/array_perf/main.cpp | 44 +++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 Homework/cs3460/array_perf/main.cpp (limited to 'Homework/cs3460/array_perf/main.cpp') diff --git a/Homework/cs3460/array_perf/main.cpp b/Homework/cs3460/array_perf/main.cpp new file mode 100644 index 0000000..1441751 --- /dev/null +++ b/Homework/cs3460/array_perf/main.cpp @@ -0,0 +1,44 @@ +#include "sortutils.hpp" + +#include +#include +#include + +const int MIN_DIST = static_cast(-1e+7); +const int MAX_DIST = static_cast(1e+7); + +/** + * @param SourceArray source: the data to initialize with random elements + * @return void: set source's elements between MIN_DIST, MAX_DIST + */ +void randomizeArray(SourceArray& source) +{ + std::uniform_int_distribution distribution(MIN_DIST, MAX_DIST); + std::default_random_engine generator; + std::generate(std::execution::par, source.begin(), source.end(), [&distribution, &generator]() { return distribution(generator); }); +} + +int main() +{ + SourceArray randomizedArray, sorted, reversed, organPipe, rotated; + + randomizeArray(randomizedArray); + + std::copy(randomizedArray.begin(), randomizedArray.end(), sorted.begin()); + std::sort(sorted.begin(), sorted.end()); + + std::copy(sorted.begin(), sorted.end(), reversed.begin()); + std::reverse(reversed.begin(), reversed.end()); + + std::copy(sorted.begin(), sorted.end(), organPipe.begin()); + organPipeStdArray(organPipe); + + std::copy(sorted.begin(), sorted.end(), rotated.begin()); + std::rotate(rotated.begin(), rotated.begin() + 1, rotated.end()); + + evaluateRawArray(randomizedArray, sorted, reversed, organPipe, rotated); + evaluateStdArray(randomizedArray, sorted, reversed, organPipe, rotated); + evaluateStdVector(randomizedArray, sorted, reversed, organPipe, rotated); + + return 0; +} -- cgit v1.3