n개의 요소가 있는 배열 A가 있습니다. 배열이 쌍으로 정렬되었는지 여부를 확인해야 합니다. 배열이 {8, 10, 18, 20, 5, 15}와 같다고 가정합니다. 이것은 (8, 10), (18, 20), (5, 15)가 정렬되어 쌍으로 정렬됩니다. 배열에 홀수개의 요소가 있으면 마지막 요소는 무시됩니다.
접근 방식은 너무 간단합니다. I를 0에서 n-1로 가져와 i번째 요소가 i+1번째 요소보다 작은지 여부를 확인하고 그렇지 않은 경우 false를 반환하고 그렇지 않으면 I를 2만큼 증가시킵니다.
예시
#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";
}
} 출력
This is pairwise sorted