您的位置:首页 > 其它

全排列打印(二)

2012-11-09 00:00 99 查看
给出数字1,2,3。打印出序列:1, 2, 3, 12, 23, 13, 123。

#include <iostream>
using namespace std;

bool status[3] = {false, false, false};

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

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

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

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