如何用C++编程来检查一个数列是否由连续的整数组成?
时间: 2024-11-22 10:45:04 浏览: 1
在C++中,检查一个数列是否由连续的整数组成可以采用迭代或递归的方式来实现。这里提供一种简单的迭代方法:
```cpp
#include <vector>
#include <algorithm>
bool isConsecutive(const std::vector<int>& nums) {
// 首先,确认序列非空并且第一个元素小于最后一个
if (nums.empty() || nums[0] > nums[nums.size() - 1]) {
return false;
}
int prev = nums[0];
for (int i = 1; i < nums.size(); ++i) {
// 检查当前元素是否紧接上一个
if (nums[i] != prev + 1) {
return false;
}
prev = nums[i]; // 更新前一个元素
}
return true;
}
// 示例用法:
std::vector<int> seq = {1, 2, 3, 4, 5};
if (isConsecutive(seq)) {
std::cout << "数列是由连续的整数组成的。\n";
} else {
std::cout << "数列不是由连续的整数组成的。\n";
}
```
这个函数通过遍历数列,每次比较当前元素与前一个元素之差是否为1。如果发现不连续,就立即返回false。如果所有元素都满足条件,函数最后返回true。
阅读全文