9. (算法填空, 12分) 完成以下求全排列的函数: void DFS(int a[],int n,int i) //求a[0..n-1]的全排列 { if (i >= n - 1) //递归出口 { for (int i=0;i<n;i++) cout << a[i] << " "; cout << "\n"; } else { for (int j=i; j<n; j++) { swap(a[i],a[j]); //交换a[i]与a[j] ( 1 ) ; ( 2 ) ; //交换a[i]与a[j]:恢复 } } }
时间: 2024-02-14 21:12:07 浏览: 81
Rastrigin函数_rastrigin_优化算法测试函数_
5星 · 资源好评率100%
代码填空如下:
```
void DFS(int a[], int n, int i) //求a[0..n-1]的全排列
{
if (i >= n - 1) //递归出口
{
for (int i = 0; i < n; i++)
cout << a[i] << " ";
cout << "\n";
}
else
{
for (int j = i; j < n; j++)
{
swap(a[i], a[j]); //交换a[i]与a[j]
DFS(a, n, i + 1);
swap(a[i], a[j]); //交换a[i]与a[j]:恢复
}
}
}
```
阅读全文