#include #include using namespace std;

void permutation(vector& nums, vector& path, vector& used, vector<vector>& res) { if (path.size() == nums.size()) { res.push_back(path); return; } for (int i = 0; i < nums.size(); i++) { if (used[i]) continue; path.push_back(nums[i]); used[i] = true; permutation(nums, path, used, res); path.pop_back(); used[i] = false; } }

vector<vector> permute(vector& nums) { vector<vector> res; vector path; vector used(nums.size(), false); permutation(nums, path, used, res); return res; }

int main() { vector nums = {1, 2, 3, 4}; vector<vector> res = permute(nums);

for (int i = 0; i < res.size(); i++) {
    for (int j = 0; j < res[i].size(); j++) {
        cout << res[i][j] << " ";
    }
    cout << endl;
}

return 0;
4个人排队要求输出编号1到4所有不重复的排列即4的全排列要求所产生的任一数字序列中不允许出现重复的数字。请你用c++编写

原文地址: https://www.cveoy.top/t/topic/h4yd 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录