[百度校招]打印全排列

2014年的题目,给定n个元素,打印出全排列
比如输入1 2 3,打印出6种排列情况

include <iostream>
using namespace std; void swap(int& a, int& b) { int t = a; a = b; b = t; } void perm(int* array, int n, int k)
{ if (k == n)
 { for (int i = 0; i < n; i++)
  { cout << array[i] << " "; } cout << endl; } for (int i = k; i <n; i++)
 { swap(array[i], array[k]); perm(array, n, k + 1); swap(array[i], array[k]); } } int main() { int array[3] = {1, 2, 3}; perm(array, 3, 0); return 0; }

  

原文地址:https://www.cnblogs.com/hellochennan/p/6654307.html