And*_*anu 2 c++ algorithm permutation
为什么此代码注释有效(代码编译并运行正常,但实际上并未显示排列):
int main(int argc, char *argv[])
{
long number;
vector<long> interval;
vector<long>::const_iterator it;
cout << "Enter number: ";
cin >> number;
while(number-->0){
interval.push_back(number);
}
do{
for(it = interval.begin(); it < interval.end(); ++it){
cout << *it << " ";
}
cout << endl;
} while(next_permutation(interval.begin(), interval.end()));
return (0);
}
Run Code Online (Sandbox Code Playgroud)
但改变这一行后:
while(next_permutation(interval.begin(), interval.end()));
Run Code Online (Sandbox Code Playgroud)
有:
while(prev_permutation(interval.begin(), interval.end()));
Run Code Online (Sandbox Code Playgroud)
不是排列通过作用于位置来改变向量中的元素吗?
PS:我现在编辑了代码.
归档时间: |
|
查看次数: |
1644 次 |
最近记录: |