#include <iostream>
using namespace std;
template<typename T>
void permutation(T array[], int begin, int end)
{
int i;
cout<<"调用递归"<<endl;
if(begin == end){
for(i = 0; i <= end; ++i){
cout<<array[i]<<" ";
}
cout<<endl;
return;
}
else {
//for循环遍历该排列中第一个位置的所有可能情况
for(i = begin; i <= end; ++i) {
cout<<"i="<<i<<"begin="<<begin<<endl;
swap(array[i], array[begin]);
permutation(array, begin + 1, end);
cout<<"测试1"<<endl;
cout<<"i="<<i<<"begin="<<begin<<endl;
swap(array[i], array[begin]);
}
}
}
int main(int argc, char **argv)
{
int a[3] = {1, 2,3};
permutation(a, 0, sizeof(a) / sizeof(int) - 1);
return 0;
}
全排列代码
最新推荐文章于 2022-07-04 16:41:51 发布