Mảng được gọi là pairwise sorted nếu mỗi cặp (arr[0],arr[1]), (arr[2],arr[3])... đều có thứ tự không giảm. Phần tử lẻ cuối cùng bị bỏ qua. Ví dụ {8, 10, 18, 20, 5, 15} → pairwise sorted vì (8,10), (18,20), (5,15) đều tăng.
Duyệt i từ 0 đến n-1 bước nhảy 2, kiểm tra arr[i] ≤ arr[i+1].
Ví dụ
#include <iostream>
#include <cmath>
using namespace std;
bool isPairwiseSorted(int arr[], int n) {
if(n <= 1) return true;
for(int i = 0; i<n; i += 2){
if(arr[i] > arr[i + 1])
return false;
}
return true;
}
int main() {
int arr[] = {8, 10, 18, 20, 5, 15};
int n = sizeof(arr)/sizeof(arr[0]);
if(isPairwiseSorted(arr, n)){
cout << "This is pairwise sorted";
} else {
cout << "This is not pairwise sorted";
}
}
Kết quả
This is pairwise sorted