您的位置:首页 > 其它

全排列打印(一)

2012-11-08 22:46 169 查看
给出数字1,2,3.打印出所有可能的排列。如:123, 132, 213, 231...

#include <iostream>
using namespace std;

void print(int a[], int begin, int n)
{
if (begin == n)
{
for (int i = 0; i < n; i++)
{
cout << a[i];
}
cout << endl;
}
else
{
for (int i = begin; i < n; i++)
{
swap(a[begin], a[i]);
print(a, begin+1, n);
swap(a[begin], a[i]);
}
}
}

void printAll(int a[], int n)
{
print(a, 0, n);
}

int main()
{
int a[] = {1, 2, 3};
printAll(a, 3);

return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: