C++ 从C+中的数组生成元素对+;

C++ 从C+中的数组生成元素对+;,c++,C++,例如,如果我有一个元素数组: int array[10] = {2,3,4,5,7} 生成具有相同差异的元素的最快方法是什么? 例如: int array[10] = {2,3,4,5,7} 如果差值=1 那么元素是2,3 如果差值=2 成对的是(3,5)和(5,7) 诸如此类的差异 我没有上过任何算法课程,我只知道C++语言。 使用名称空间std; int main(){ int a[]={2,3,4,5,7}; int n=5; int d=2; 对于(int i=0;iIs)数组排序

例如,如果我有一个元素数组:

int array[10] = {2,3,4,5,7}
生成具有相同差异的元素的最快方法是什么? 例如:

int array[10] = {2,3,4,5,7}
如果差值=1
那么元素是2,3
如果差值=2
成对的是(3,5)和(5,7)
诸如此类的差异

<>我没有上过任何算法课程,我只知道C++语言。

<代码> 使用名称空间std; int main(){ int a[]={2,3,4,5,7}; int n=5; int d=2;
对于(int i=0;iIs)数组排序?如果是,您可以使用两个迭代器遍历它。如果差异太小,则移动右侧的迭代器,如果差异太大,则移动左侧的迭代器。如果差异是您想要的,则移动两者。我同意paddy的观点。事实上,即使它没有排序,也要进行排序(使用O(nlgn)排序)然后应用此算法仍然比暴力搜索所有可能的对快。编辑:对于排序检查,您还可以澄清您的描述吗?您说过对于差分=1,元素是(2,3),但您没有提到(3,4)或(4,5)。同样对于差分=2,您省略了(2,4)。是否有其他规则您没有告诉我们,或者这只是一个错误?哦,抱歉!!必须生成所有可能的对。我可以将此迭代器用于数组吗?所谓“迭代器”,我只是指“数组索引”。请运行算法,直到右侧迭代器(索引)超过最后一个元素。