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