不使用vector完成编写一个递归算法来检查数组A是否按非递减的顺序排列。如果数组为非递减顺序,则返回TRUE;否则,则返回FALSE。用c++来写
时间: 2024-10-29 09:10:58 浏览: 5
PHP使用递归算法无限遍历数组示例
你可以使用递归的方式,在 C++ 中编写一个函数来检查数组是否按非递减顺序排列,如下所示:
```cpp
#include <iostream>
bool isNonDecreasing(int arr[], int n) {
// Base cases: empty array or single element is always non-decreasing
if (n == 0 || n == 1)
return true;
// Recursive case: check the last element with the second-to-last
if (arr[n - 1] <= arr[n - 2])
return isNonDecreasing(arr, n - 1); // If last is less than or equal to second-to-last, call recursively on rest
// Return false if last element is greater than second-to-last
return false;
}
int main() {
int arr[] = {1, 2, 3, 4, 5};
int n = sizeof(arr) / sizeof(arr[0]);
if (isNonDecreasing(arr, n))
std::cout << "Array is in non-decreasing order.\n";
else
std::cout << "Array is not in non-decreasing order.\n";
return 0;
}
```
这个函数首先检查基本情况,如空数组或只有一个元素的情况。然后,它比较数组的最后一个元素与倒数第二个元素,如果后者大于前者则返回 `false`,否则继续递归检查剩余部分。
阅读全文