数组全排列

#include
#include
using namespace std;

void permu(vector&a, int l, int h, vector>&res) {
	if (l == h) {
		res.push_back(a);
	}
	for (int i = l; i <= h; i++) {
		swap(a[i], a[l]);
		permu(a, l+1, h, res);
		swap(a[i], a[l]);
	}
}

int main() {
	vectora{ 34,45,55,66 };
	vector>res;
	permu(a, 0, a.size() - 1, res);
	for (int i = 0; i < res.size(); i++) {
		for (int j = 0; j < res[0].size(); j++) {
			cout << res[i][j] << " ";
		}
		cout << endl;
	}
	system("pause");
}

 

你可能感兴趣的:(数据结构与算法设计)