用C++写给定N个整数,每个数都是不超过10000的正整数,但是可能存在重复的。先把给定的数按照从小到大的顺序排序,对于 排序后的序列,请你计算出相邻的两个整数之间差值的最大值是多少?
时间: 2024-03-24 15:39:56 浏览: 169
delete--number.rar_K._delete namber_delete number_给定n位正整数
5星 · 资源好评率100%
好的,以下是用C++实现的代码:
```cpp
#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;
int main() {
int n;
cin >> n;
vector<int> nums(n);
for (int i = 0; i < n; i++) {
cin >> nums[i];
}
sort(nums.begin(), nums.end());
int max_diff = 0;
for (int i = 1; i < n; i++) {
int diff = nums[i] - nums[i-1];
if (diff > max_diff) {
max_diff = diff;
}
}
cout << max_diff << endl;
return 0;
}
```
这段代码首先读入N个整数,然后使用vector容器存储这些整数。接着使用sort函数对这些整数进行排序。然后遍历排序后的序列,计算相邻两个整数之间的差值,并记录最大值。最后输出记录的最大差值。
需要注意的是,这段代码使用了STL的vector容器和sort函数,可以更方便地进行数据存储和排序。
阅读全文