飞鸟各投林

导航

[百度校招]打印全排列

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; }

  

posted on 2017-04-01 01:46  飞鸟各投林  阅读(266)  评论(0编辑  收藏  举报