diff options
Refactor
1 files changed, 15 insertions, 12 deletions
| -rw-r--r-- | pract_SI/Pract. 05/Solutions/task5.cpp | 27 |
diff --git a/pract_SI/Pract. 05/Solutions/task5.cpp b/pract_SI/Pract. 05/Solutions/task5.cpp index 0676987..29211ce 100644 --- a/pract_SI/Pract. 05/Solutions/task5.cpp +++ b/pract_SI/Pract. 05/Solutions/task5.cpp @@ -5,19 +5,22 @@ void swap(int &first,int &second) second = temp; } -void specificOrderArray(int *arr,int size) +void specificSequence(int *arr, int size) { - bool isBigger = true; + bool isEven = true; //On even - > , otherwise < - for (int i=0; i < size - 1; i++) - { - if (isBigger) - if (arr[i] < arr[i+1]) - swap(arr[i], arr[i+1]); + for (int i = 0; i < size - 1; i++) + { + if (isEven) + { + if(arr[i] < arr[i + 1]) //a1 && a2 , a3 && a4 ... + swap(arr[i], arr[i + 1]); + } else - if (arr[i] > arr[i+1]) - swap(arr[i], arr[i+1]); - - isBigger = !isBigger; - } + { + if (arr[i] > arr[i + 1]) //a2 && a3 , a4 && a5 ... + swap(arr[i], arr[i + 1]); + } + isEven = !isEven; + } }
\ No newline at end of file |
