// Implementation 1: Simple swap of two elements at indices k1 and k2
void SwapArr(int* arr, int n, int k1, int k2) {
if (k1 >= 0 && k1 < n && k2 >= 0 && k2 < n) {
int temp = arr[k1];
arr[k1] = arr[k2];
arr[k2] = temp;
}
}
// Implementation 2: Reverse elements between indices k1 and k2 (inclusive)
void SwapArr(int* arr, int n, int k1, int k2) {
// Перевірка коректності індексів
if (k1 < 0 || k2 >= n || k1 > k2) return;
// Реверсування підмасиву від k1 до k2
while (k1 < k2) {
// Обмін елементів місцями
int temp = arr[k1];
arr[k1] = arr[k2];
arr[k2] = temp;
// Зсув індексів до центру
k1++;
k2--;
}
}
|