DSA-Assignments

Log | Files | Refs | README

commit 30f7cd352de09817f47868be914fa9944d75b23a
parent 0d377147973d284c443ccd7947710c429499db66
Author: William Lindholm <a22willi@student.his.se>
Date:   Thu,  7 Dec 2023 13:06:06 +0100

Now times the sorting duration for different array sizes.

Diffstat:
MProblem1/Problem1.cpp | 22++++++++++++++--------
1 file changed, 14 insertions(+), 8 deletions(-)

diff --git a/Problem1/Problem1.cpp b/Problem1/Problem1.cpp @@ -12,6 +12,7 @@ #include <string> #include <chrono> #include <algorithm> +#include <tuple> using namespace std; @@ -23,6 +24,7 @@ string vectorToString(vector<int> vector); int findMax(vector<int> v); vector<int> generateRandomVector(int low, int high, int size); void showProgressBar(int width, double progress); +void printuple(tuple<int, double> t); int main() { @@ -30,13 +32,13 @@ int main() srand(12345); - vector<double> durations(iterations); + vector<tuple<int, double>> durations; - for (int i = 0; i < iterations; i++) { + for (int i = 1; i < iterations + 1; i++) { showProgressBar(100, (double)i / iterations); - vector<int> unsorted = generateRandomVector(0, 999999, 100000); + vector<int> unsorted = generateRandomVector(0, 999999, i * 1000); auto start = chrono::high_resolution_clock::now(); @@ -46,13 +48,13 @@ int main() chrono::duration<double> elapsed = end - start; - durations[i] = elapsed.count(); + durations.push_back(make_tuple(i * 1000, elapsed.count())); } + cout << endl; - //find highest duration - auto highest = max_element(durations.begin(), durations.end()); - - cout << "\nThe highest duration was: " << *highest << endl; + for (auto t : durations) { + printuple(t); + } //vector<int> insertSorted = insertionSort(unsorted); //cout << "The unsorted vector: " << vectorToString(unsorted) << endl; @@ -204,4 +206,8 @@ void showProgressBar(int width, double progress) { } cout << "] " << int(progress * 100.0) << " %\r"; cout.flush(); // Important to flush the output +} + +void printuple(tuple<int, double> t) { + cout << get<0>(t) << "\t" << get<1>(t) << endl; } \ No newline at end of file