From 29bbc1869c1e61e7703583b90d3b144302efce29 Mon Sep 17 00:00:00 2001 From: Angel Dimitriev Date: Wed, 23 Mar 2022 14:05:57 +0200 Subject: Update Time.cpp --- Sem. 05/Time.cpp | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) (limited to 'Sem. 05/Time.cpp') diff --git a/Sem. 05/Time.cpp b/Sem. 05/Time.cpp index d860fda..6ac1b08 100644 --- a/Sem. 05/Time.cpp +++ b/Sem. 05/Time.cpp @@ -165,19 +165,28 @@ void Time::print(bool is12hoursclock) const std::cout << std::endl; } +void swap(Time& first, Time& second) +{ + Time& temp = first; + first = second; + second = temp; +} void timeBubbleSort(Time* arr, size_t arrLen) { for (int i = 0; i < arrLen; i++) { - for (int j = 0; j < arrLen - 1; j++) + bool isSwapped = false; + for (int j = 0; j < arrLen - 1 - i; j++) { if (arr[j].compare(arr[j + 1]) > 0) { - Time temp = arr[j]; - arr[j] = arr[j + 1]; - arr[j + 1] = temp; + swap(arr[j],arr[j+1]); + isSwapped = true; } } + + if(!isSwapped) + return; } } -- cgit v1.3.1-23-gd82d