You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
|
|
#include<bits/stdc++.h>
|
|
|
|
|
using namespace std;
|
|
|
|
|
|
|
|
|
|
//<2F><>ӡ<EFBFBD><D3A1><EFBFBD><EFBFBD>ȫ<EFBFBD><C8AB>Ԫ<EFBFBD><D4AA>
|
|
|
|
|
void prt(int arr[], int end) {
|
|
|
|
|
for (int i = 0; i <= end; ++i) {
|
|
|
|
|
printf("%d", arr[i]);
|
|
|
|
|
}
|
|
|
|
|
printf("\n");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//ȫ<><C8AB><EFBFBD><EFBFBD> c++ʵ<><CAB5>
|
|
|
|
|
//https://blog.csdn.net/u013309870/article/details/68941284
|
|
|
|
|
//https://blog.csdn.net/jiaobuchong/article/details/85369970
|
|
|
|
|
|
|
|
|
|
//https://www.cnblogs.com/kiritozhj/p/10501470.html
|
|
|
|
|
// https://blog.csdn.net/sofia_m/article/details/78865892
|
|
|
|
|
|
|
|
|
|
void perm(int arr[], int begin, int end) {
|
|
|
|
|
//<2F>ݹ<EFBFBD><DDB9><EFBFBD><EFBFBD>ڣ<EFBFBD><DAA3><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>ӡ<EFBFBD><D3A1><EFBFBD><EFBFBD>
|
|
|
|
|
if (begin == end) {
|
|
|
|
|
prt(arr, end);
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
//<2F><>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD>еݹ<D0B5><DDB9>ĵݹ<C4B5><DDB9>忪<EFBFBD><E5BFAA>
|
|
|
|
|
for (int i = begin; i <= end; ++i) {
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ԫ<EFBFBD><D4AA>ֵ
|
|
|
|
|
swap(arr[begin], arr[i]);
|
|
|
|
|
//<2F>ݹ<EFBFBD><DDB9><EFBFBD>
|
|
|
|
|
perm(arr, begin + 1, end);
|
|
|
|
|
//<2F>ָ<EFBFBD>ԭ״
|
|
|
|
|
swap(arr[begin], arr[i]);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
int main()
|
|
|
|
|
{
|
|
|
|
|
int arr[3] = { 3,1,2 };
|
|
|
|
|
perm(arr, 0, 2);
|
|
|
|
|
}
|