Computer >> Máy Tính >  >> Lập trình >> C ++

Kiểm tra xem một mảng nhất định có được sắp xếp theo cặp hay không trong C ++

Ta có một mảng A, với n phần tử. Chúng ta phải kiểm tra xem mảng có được sắp xếp theo cặp hay không. Giả sử mảng giống như {8, 10, 18, 20, 5, 15}. Điều này được sắp xếp theo cặp như (8, 10), (18, 20), (5, 15) được sắp xếp. Nếu mảng có số phần tử lẻ thì phần tử cuối cùng sẽ bị bỏ qua.

Cách tiếp cận quá đơn giản, bằng cách lấy I từ 0 đến n-1, chúng ta sẽ xem phần tử thứ i có nhỏ hơn phần tử thứ i + 1 hay không, nếu không thì trả về false, ngược lại thì tăng I lên 2.

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";
   }
}

Đầu ra

This is pairwise sorted